GNOME Bugzilla – Bug 634743
Moving message on GMail with real Trash set deletes it
Last modified: 2011-02-11 10:25:44 UTC
I am using evolution 2.32 on Arch Linux. I've set up a Gmail account and specified a custom trash (Gmail/Trash, as you might know Gmail handles deleted mails in this way) under the receiving options. Now, when I filter or manually move a message, the message is moved to the trash folder instead of the destination folder. My two cents on what is happening (this might be completely wrong, but I hope it might help): I think that when the moving occurs Evolution firstly delete the message (i.e. it moves it to Gmail/Trash) and then "copy" it to the destination folder. Gmail sees the "copied" message as a duplicate (there is already the trashed one) and deletes it. Cheers, Alessandro
IMAP move means "create a copy and mark the original one as deleted". Hence it's normal that a copy ends up in trash, the bug is if the copy does not show up in the folder it was moved to. That's simply how IMAP works.
The bus is as you described it. The copy itself doesn't reach the destination folder, hence I only end up with a message in the Trash.
Confirming. the problem with Google mail is that the mode is not a real message move, it's only changing email labels, so the move to trash is marking another label, which is finally used as the last "move". I'm afraid there's nothing better than check if the account is a google account and if so then do not do the final move to trash on message move if the real trash is configured.
Thanks for confirming this. Up to now I am forced to disable the custom Trash option for this reason and when I want to delete messages I have to manually move them to the Trash folder, which works. I know this is not Evolution's fault and rather a Gmail stupid "unfeature" (IMAP speaking), however it is an annoying thing. Thanks for considering it :)
Created attachment 179822 [details] [review] eds patch for evolution-data-server; This seems to fix it for me, for both modes, with and without real Trash folder set on a GMail account.
Created commit 5161a0f in eds master (2.91.90+) Created commit d6eb500 in eds gnome-2-32 (2.32.2+)
I compiled the eds gnome-2-32 branch and now moving messages between folders works when setting a real Trash. However, when I delete a message (which should now mean move it to Gmail/Trash, right?) it disappears. Looking into the Gmail webmail the deleted message is found only in the All Mail folder, and not in the Trash. Do you also have this behaviour? Sorry for the yet more noise and troubles, I think I will eventually ditch Gmail for a better IMAP service.
Ouch, you've right. I'm not able to distinguish between moved message and deleted message now, so I reject moving to a trash always. I'm reopening this bug.
Created attachment 179875 [details] [review] eds patch ][ for evolution-data-server; Refixing the issue. This is supposed to be applied on top of the above patch. I obviously failed to test this change properly, I'm sorry for that.
Created commit 0e904ef in eds master (2.91.90+) Created commit 16e2e84 in eds gnome-2-32 (2.32.2+)
Thanks Milan, everything seems now to be working fine :) Hope that this settles the Google Trash forever!
I thank you for testing this, it's a shame to do such thing in two steps only because improper testing on my side :(
Don't even think of saying that. Your work fixing the bug gave me back a better working Evolution. It is a pleasure to help you fixing problems on my part, and I really appreciate your work as a developer! PS: sorry if I post once more on this and spam some inboxes, but I feel that this deserves a little more thanks :)
*** Bug 637642 has been marked as a duplicate of this bug. ***