My e-mail arrives into a local Evolution folder called "Inbox". As I read and deal with messages, I refile them to folders remotely stored on an IMAP server. Yesterday, the IMAP server went down when its power supply blew. I continued refiling e-mails, not really noticing that there were errors showing up at the bottom of the screen. Evolution continued deleting emails from my inbox, even though it was aware that the moved copy was not being created on the IMAP server. In this situation, Evolution should retain the copy in the original folder (in this case, my inbox) without marking it as deleted. This would make the "move" operation transaction-safe. If I had expunged my inbox before noticing that the IMAP server was down, I would have lost these e-mail permanently. As it stands, I have to figure out which deleted emails have been successfully moved, and to which folders, and which I need to undelete and move. This is rather annoying. If the messages had stayed in my inbox, it would have been a clearer and more immediate indication that the move operation had failed. A pop-up dialog box clearly stating that the move operation had failed would also have been appropriate.
This is with evolution-2.22.3.1-1.fc9.i386.
I guess the patch from upstream bug [1] would help here, though committed to the development branch only. Either this will help, or something very similar to this. [1] http://bugzilla.gnome.org/show_bug.cgi?id=349870
I checked the IMAP code and I'm confident of the patch in the upstream bug that I'll mark this as upstream. The fix will be available in 2.24 stable release.