After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 733339 - Single keystroke commands dangerous with inline composer
Single keystroke commands dangerous with inline composer
Status: RESOLVED FIXED
Product: geary
Classification: Other
Component: composer
master
Other Linux
: Normal normal
: ---
Assigned To: Geary Maintainers
Geary Maintainers
: 777022 (view as bug list)
Depends on: 778740
Blocks:
 
 
Reported: 2014-07-17 20:14 UTC by Robert Schroll
Modified: 2019-11-20 16:17 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Robert Schroll 2014-07-17 20:14:59 UTC
I've been worried about this for a little while, but I finally triggered it today: I had an inline composer open and scrolled up to look at a previous message.  I started typing again and the conversation disappeared.  I must have pressed a or d, with the focus was no longer in the composer.

I've never been a fan of the single keystroke commands, but they're especially dangerous with an inline composer that's lost focus.  I would replace them completely with chorded shortcuts, but we could also disable these commands whenever there's an inline composer, or intercept them and pop up a confirmation dialog.
Comment 1 Jim Nelson 2014-07-17 22:01:26 UTC
I'm not a fan of them either, but we have some users who feel strongly in support of them, so removing them entirely is not an easy proposition.

Looking over the list of keyboard shortcuts, I *think* the primary ones we need to worry about are Archive (A), Trash (Delete, Backspace), and Mark as Spam (bang), as they're destructive.  Star (S) and Unstar (D) are of concern, but not the end of the world.  New Message (N) already pops up a dialog if composing a reply.  Zoom (-,=,0) is also hard to get worried about.

My inclination at the moment is to issue a warning only for Archive and Trash.  A more broad way of looking at this is if we shouldn't be issuing a warning any time the conversation is moved or deleted and the composer is open.  Right now none is issued, even if the draft has been saved.  (Did we decide on that when you were here or did we overlook that?  I forget.)

If we went this route, the warning dialog would pop-up even if you pressed the Archive/Trash/Delete button on the toolbar.  How does that sound?

Incidentally, investigating this I discovered a new bug: bug #733340.  I believe it's related to the mystery open-composer issue, bugs #731491 and bug #730606.
Comment 2 Robert Schroll 2014-07-18 17:23:19 UTC
I think the lack of a warning about closing open composers is bug #730606.  So for the short term, adding the existing dialog here would avoid most of the dangers.

But the long-term plan is to get rid of these dialogs.  When that happens, we've got this problem again.  We may need to add specific dialogs for this case then.

Another solution would be to make the single keystroke commands be optional.  Then those that like them are opting in to the danger, and I no longer feel so bad about this problem.
Comment 3 Jim Nelson 2014-07-18 19:30:17 UTC
I agree, #730606 seems to be the core problem, with a number of side-effects hanging off of it.

My first reaction is against that kind of Preference checkbox, but this is a somewhat dangerous situation, so if we had that, there should be a little bit of help text explaining what the user is getting in to.

Another possibility is to disable the single-key shortcuts when the inline composer is open, at least, the ones that invoke a destructive action.  You could make a case that saving a draft but archiving the conversation is not a normal use-case (it's not for me at least), and certainly saving a draft and marking the reply-to message as Spam (or sending it to the Trash) just seems wrong.  So, we *could* make the argument that those keys are disabled for safety's sake when composing because invoking them makes little sense in that state.

If we went that route, however, we need to have a rock-solid fix for the mystery composer hanging-around problem, otherwise we risk disabling those keys entirely when Geary gets into that state.
Comment 4 deutrino 2015-03-31 22:47:34 UTC
I'm a brand-new Geary user so I hope you'll take my very first impressions as such.  This is on Linux Mint 17.1 using the latest 0.10.0 from the Yorba PPA.  Great work so far - I'm dreaming of this becoming my Thunderbird replacement (I don't like Evolution).

My first major impression sad: in the conversation view, the function of the keys I *expect* to use for message deletion (Delete, and then after right-clicking to see why it "wasn't working" - I think just due to IMAP lag, Shift-Delete) is confusing.

WHAT ACTUALLY HAPPENS

Delete works, except when it doesn't (is that only IMAP lag, or *must* the user Shift-Delete, say for multiple messages).  Shift-Delete is similar.

There appears to be lag between the user directing Geary to delete a message, and the message disappearing until the IMAP delete operation is finished.  The latency is confusing and poor UX for people on slow links or distant mail servers.

Once a message is deleted, sometimes I get a confirmation.  I can't shut those off.

WHAT I EXPECT TO HAPPEN

Delete always works, and works snappily.

IMAP lag is concealed by the UI; when I hit delete, I am cognitively ready to move to the next message, not to wait and wonder if deletion is working (and maybe double-tap delete, even worse).  If the delete fails, maybe re-pop the message into the view above the read pointer with a warning?

I wish to be able to shut confirmations off.  If I use the Delete key, I personally 99.9% likely did not typo it.
Comment 5 Michael Gratton 2017-02-16 06:34:31 UTC
This will be fixed when Bug 778740 lands.
Comment 6 Michael Gratton 2017-02-16 06:38:41 UTC
*** Bug 777022 has been marked as a duplicate of this bug. ***
Comment 7 Michael Gratton 2019-11-20 16:17:17 UTC
A fix for this is landing over in https://gitlab.gnome.org/GNOME/geary/merge_requests/373