Bug 138855 - dIMAP, mails deleted on folder, ask user for confirmation implementation buggy and vague
Summary: dIMAP, mails deleted on folder, ask user for confirmation implementation bugg...
Status: RESOLVED DUPLICATE of bug 133540
Alias: None
Product: kmail
Classification: Applications
Component: disconnected IMAP (show other bugs)
Version: 1.9.5
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-15 20:47 UTC by Bill Anderson
Modified: 2009-08-21 11:57 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bill Anderson 2006-12-15 20:47:47 UTC
Version:           1.9.5 (using KDE KDE 3.5.5)
Installed from:    Gentoo Packages
Compiler:          GCC 3.4.6 gentoo's r-1 release
OS:                Linux

Base Info:
I have several accounts, all using dIMAP. In all but one case, only KMail on one workstation is checking/accessing the email account.

Scenario:
After upgrading to 3.5.5, when checking mail I get a modal dialog informing me that "Mails on the server in folder accountnameX/folderX were deleted. Do you want to delete them locally? UIDs: NNN, NNN, NNN..." 

My first complaint, and the bug, is that I can confirm those mails to exist on the server. Thus the dialog/kmail is wrong. I can also say that rebuilding the index rarely works. In fact I have the window open right now on two messages being server-side deleted. I get this every single time it checks email. This brings me to the next complaint.

It should remember that I don't want to delete that mail. Further, it should not stop all mail checking for that account while it waits for the user to respond, nor should it stop me from typing in the compose window for this. In other words, non-modal.

Next up is a UI thing. Telling an end user what the UID was does nothing for them - it's just numbers. A better implementation would be to provide a user the opportunity to examine them. Perhaps a "filter" folder similar to "last search" that shows the 'server deleted' email that if the email is deleted from this 'virtual folder', it is deleted locally. Or perhaps a flag and a standard 'view filter'? Another issue with the dialog method is that if you have large enough UIDs, or a numerous enough list of 'deleted' UIDs, you can't see them all as they get clipped at the right side of the dialog box.

Another alternative is to not make that check automatic, but make it an option/action combo. The account would have a flag to a) not delete server-side deletions b) always delete server-side deletions (bad if it still gets this wrong), or c) ask user.

I do like that it detects it, and I do like having an option regarding deletion, it just needs some work. If there is too much work to fix this in the next rev, perhaps an option on the folder to 'Keep a copy of downloaded mail that was deleted on the server' or wording to that effect?

The main issue however, is that it gets the UID compare wrong. I get this when the server is an Exchange server, or Courier-IMAP. After that, the other issues can be resolved.
Comment 1 Bill Anderson 2006-12-27 22:49:14 UTC
Update: I just created a new folder and moved over 60 messages into it. Now I am getting the above dialog claiming that a set of UIDs have been deleted from the new folder. The list is more than the dialog box can handle so I can not say for certain that it contains all the 'new' messages, but it likely does.

Note that it is not saying the messages were deleted from the inbox, but from the new folder.
Comment 2 Bill Anderson 2006-12-27 23:13:30 UTC
More problems with it. So I got tired of every few minutes getting the blasted popup modal dialog. Rebuilding the index didn't help. So I created a copy under local folders and copied all messages there in preparation for the next step.

I then refreshed the cache, Of the 63 messages that were moved into there by a Kmail filter frmo the inbox, 6 remained. 6. 

People, this bug means data loss. There are multiple vectors to data loss in fact. If the user selects yes, their 'local copy' is deleted, then when the folder synchronizes and updates the server with status the server will delete the message as it is told the message has been deleted. This is in addition to the scenario described above.

To finish off this particular instance, I then *copied* the messages back into the server folder and did not get the message. This leads me to suspect the problem my be in the filter code.
Comment 3 Christophe Marin 2009-08-21 11:57:35 UTC

*** This bug has been marked as a duplicate of bug 133540 ***