Re: [Evolution] Moving an email creates a duplicate in thetrash folder(?!)



re2823 Safe-mail net wrote:
-------- Original Message --------
From: "Patrick O'Callaghan" <poc usb ve>
To: re2823 Safe-mail net
Cc: evolution-list gnome org
Subject: Re: [Evolution] Moving an email creates a duplicate in thetrash      folder(?!)
Date: Thu, 25 Jan 2007 17:58:23 -0400

re2823 Safe-mail net wrote:
-------- Original Message --------
From: Patrick O'Callaghan <poc usb ve>
Apparently from: evolution-list-bounces gnome org
To: evolution-list gnome org
Subject: Re: [Evolution] Moving an email creates a duplicate in thetrash    folder (?!)
Date: Thu, 25 Jan 2007 12:56:10 -0400

On Thu, 2007-01-25 at 15:37 +0000, re2823 Safe-mail net wrote:
Could someone please confirm that I'm not losing my mind. I've
discovered that moving emails between folders in evolution creates
duplicates in the trash folder. Here's a recipe to reproduce the
problem:

Take one fresh evolution installation version 2.6.3 on a clean debian
etch (no .evolution or .gconf/apps/evolution folders), start evolution,
create a new folder (call it anything you like) to archive your emails
into, then move the "Getting started" welcome email into your archive
folder. Check the inbox to make sure the welcome email is no longer
there, check your archive folder to make sure that the welcome mail IS
there, now look in the trash folder. There's a duplicate of the welcome email.

Huh? Is this unique to my parallel universe, or can someone else
reproduce the same?
This is correct and is the way Evo is supposed to work. Briefly, on IMAP
servers there is no "move" primitive so Evo has to copy the message and
remove the original. "Removing" in IMAP is a 2-step process: mark as
deleted, and then expunge the folder. This means you can undo deletes as
long as you haven't expunged.

The same may apply to Exchange servers; I don't know.

In any case, all you need to do is periodically hit Ctrl-E (Folder
->Expunge) or File->Empty Trash (equivalent to Expunge on all folders).
Thanks for that Patrick. Only one question: your answer talks
about IMAP servers, while I was originally talking about my
local (file) mail-store. Do you know if local (file) mail stores
are supposed to behave the same way?
It could be of course be done differently for local folders, but it 
would seem to be more natural to keep the same behaviour, in line with 
the Principle of Least Astonishment, given that Evo already does it for 
IMAP. However I don't really know the answer to this. Note that local 
folders are not all the same, since they can be (at least) mboxes (one 
file per folder) or maildirs (one file per message), and that could 
affect the answer. Why don't you experiment and tell us?

I can tell what I have empirically observed, although that
will _not_, of course, answer whether evo is "supposed" to behave
that way - the observed behaviour could be a bug in evo.

I've tried out an older version (2.0.4 which comes with debian
sarge) and a newer version (2.9.6 which comes with ubuntu 7.04
pre-release 2) as well. Astonishingly, all three versions
exhibit exactly the same behaviour: moving mail from one folder
to another creates a copy of it in the trash can. I'm astounded.

It's interesting that you mention the "Principle of Least
Astonishment" and how the observed behaviour would be in
keeping with evo's treatment of mail moved around imap folders.

I, too, would cite the "PoLA", but for exactly the opposite
reasons:

a) The only other mail client that I have recent experience with,
does not create copies in its trash folder when moving mail
between local mail stores

b) Other apps which use the folder/file metaphor (such as
nautilus, thunar etc) don't create copies in recycle bins/
trash folders when moving items between folders.

I don't know these. Are they IMAP clients?

c) Finally, noting the PoLA definition at the Portland Pattern
Repository: http://c2.com/cgi/wiki?PrincipleOfLeastAstonishment
"the result of performing some operation should be obvious,
consistent, and predictable, based upon the name of the operation
and other clues." This, combined with surely most people's
preconceived ideas of "movement" will tell them that if you move
one item, you have one item when you've finished (and not two).

I think I'll log this as a bug...

Copy+Delete is the canonical way to move messages on IMAP servers, so 
I'd be surprised if other IMAP clients behaved differently, but who
knows. Furthermore the Expunge operation only applies to folders, not to
individual messages, so it would be rash for Evo to expunge
automatically (thus removing messages which you later might want to
undelete).

As to whether the same method should be used for non-IMAP folders, it 
depends on your point of view. Maybe the Evo devels would argue that it 
would more confusing to have IMAP messages work one way and other 
messages behave another way, but I can't speak for them.

This behaviour has actually saved me more than once. I've had filters 
behaving badly and refiling an entire folder's worth of messages in the 
wrong place. The fact that there are still "deleted" copies in the 
original location has enabled me to work out what happened and undo it.

Note that you can set Evo to Empty Trash when closing the session,
either every time or once per day, week or month.

poc




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]