Comment 29 for bug 365270

Revision history for this message
Paul Smith (psmith-gnu) wrote :

Knut: your comments reveal a relatively shallow understanding of the email environment. And they show you haven't understood the real situation with Evolution. As for discussions of how IMAP servers ought to work, you should be filing those bugs with the teams that create the IMAP servers; I'm sure they'll welcome your input.

The comments around moving files into/out of Trash shows you haven't read the various discussions of the problem (even to bugs marked as duplicates in Gnome Bugzilla). There is no "real" Trash folder in Evolution, so there is no move or copy of email from any other folder into Trash. Trash is a virtual folder: it doesn't exist physically, but instead is constructed as a user-interface artifact, containing all the messages that are marked as deleted. Thus, to delete a message (have it appear in Trash) all that has to be done is mark that message as deleted. To undelete a message, you just remove the deleted attribute and it reappears exactly where it was before... because it was never moved anywhere else. There is no copy involved with delete, no extra space consumed, etc. And similarly, there is no copy involved with undelete either.

This is why messages appear in "Trash" when you move them to another folder: as I've described there is no MOVE operation in IMAP, so a MOVE must be implemented as a COPY followed by a delete. When you mark a message deleted that message appears in the Trash folder.

I do understand Mathias's frustration, but unfortunately it's not so simple. Mathias you suggest it's just a matter of Evolution hiding these details, but that cannot be done reliably. There is only one delete flag in IMAP, so there is no way to make a distinction on the server between messages that are deleted by hand, and those that are deleted as a side-effect of a desired move operation. They are identical as far as any IMAP client is concerned.

Yes, of course, Evolution could maintain its own local list of messages that should be hidden rather than displayed in Trash because they are a side-effect of a copy/delete. However this list would be present only in that instance of Evolution. If you ever attached to your IMAP server using a different Evolution (say on a laptop or work system), or you used a webmail client or another IMAP client (maybe on your smart phone, etc.), all those extra deleted messages WOULD appear there, and you'd have even more confusion and bugs reported.