GNOME Bugzilla – Bug 721989
Cannot move/label/archive/junk/etc conversations in search results
Last modified: 2021-07-05 13:26:42 UTC
Steps to reproduce the problem: - search some term - enter the search folder - you should see the move icon greyed out I can only add a label, but I cannot move the conversation. Is it a known problem? Server dovecot. Geary 0.4.3 (compiled from git)
This is by design, for now, due to a number of conspiring factors: * Messages can exist in multiple folders, leading to some ambiguity about what "moving" a message means in every case * The search "folder" currently isn't doing the work to figure out which folders a message is in, delete the message from those, and add the message to a different folder * Geary's internal folder interface doesn't help here either (bug #713049 speaks to this) Also, where normally moving a message removes it from the folder in which you're viewing it, in the search "folder" it would stick around since it's still a search result, which is unintuitive. What would you propose happen when a user moves a message from the search folder? We're open to allowing this in the future, but we need to think more about how it would work in every case. (I thought we had a ticket about this, but I couldn't find it just now... perhaps bug #713049 is how we'd hoped to solve this.)
I should also make it explicit that Geary's buttons operate on *conversations*, not messages as I'd implied above, so we'd need to figure out what logic to apply to every message in a conversation, in every case.
I take for granted that such a button operate on conversation (I would expect actions on single message to live somewhere else, not in the main menu). When I move a conversation which has already more than one label attached, I can see two options: 1. the previous labels are detached (from the conversation) and the new one added, without asking the user. 2. a pop-up window asks if the previous labels should be detached and gives the option to detach only some of the old labels.
My uninformed take on this is that some mailboxes/folders/labels can be seen as exclusive labels for messages: Inbox, Sent, Draft, Trash and Junk. If one of these is applied to a message, no others may be. Sent and Draft is also special in that if labelled as such, it should not be removed (unless it is being trashed/deleted) - they are sticky. The rest are not exclusive, and hence more than one can be applied to a message. So, basically that except for messages in the non-exclusive states, and unless the operation is trash/delete, the operation should just be applied to all messages in the conversation, per Federico's first suggestion. Some special-cases are then needed for messages with exclusive labels. For each message in the conversation: 1. If all of the message's current labels are non-exclusive: - Label simply adds the new label to each that does not already have it - Move removes any other labels and applies the new label - Archive is treated as a Label - Trash/Junk is treated as a Move - Delete immediately deletes it 2. If a message has an exclusive label, but not sticky (i.e. Inbox, Trash and Junk), then the existing label is removed and replaced with the new label, i.e. all operations are treated as a Move. Delete still just deletes. 3. If a message has an sticky, exclusive label (i.e. Sent, Drafts), then nothing happens, unless the action is Trash or Delete, then it is treated as in (2). It might actually be that this behaviour should be applied to all folders, not just Searches, since I'd expect the behaviour of these operations to be consistent across the app.
Also, (2) also needs to also be invoked if the label being applied is itself exclusive. It might makes sense to disallow sticky labels from being applied manually at all.
*** Bug 713913 has been marked as a duplicate of this bug. ***
Bump tickets to 0.14 that aren't going to make 0.13.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/geary/-/issues/ Thank you for your understanding and your help.