GNOME Bugzilla – Bug 356092
Incorrect recent mail detection for IMAP folders.
Last modified: 2008-02-07 16:08:58 UTC
Please describe the problem: When examining IMAP folders, evolution cannot detect which mail is recent. This happens, if an external program (spam filter on the server), operates on the IMAP folder, thus clearing the recent flag. This is why using this flag for recent mail detection is unreliable. Ex: filtering recent mail doesn't work on IMAP folders, since it relies on said flag. Steps to reproduce: 1. Set up an imap server with a spam filter (ex: isbg/spamassassin) 2. Set up a filter. 3. Receive mail. 4. Manually apply filter on the new mail, just to see that the filter itself works. Actual results: The filter doesn't work on newly obtained mail. Expected results: The filter works on newly obtained mail. Does this happen every time? Yes. Other information:
Created attachment 72844 [details] [review] Fixes the filter problem This patch fixes the filter problem. The sidebar still incorrectly indicates that there are unread messages when they have been read (with bold letters and and the number of unread mail in [] brackets).
Comment on attachment 72844 [details] [review] Fixes the filter problem diff -ur ./camel/camel-folder.c /tmp/src/evolution-data-server-1.6.3/camel/camel-folder.c --- ./camel/camel-folder.c Wed May 3 16:59:26 2006 +++ /tmp/src/evolution-data-server-1.6.3/camel/camel-folder.c Fri Sep 15 11:50:47 2006 @@ -1802,15 +1802,15 @@ } if ((folder->folder_flags & (CAMEL_FOLDER_FILTER_RECENT|CAMEL_FOLDER_FILTER_JUNK)) - && changed->uid_recent->len > 0) + && changed->uid_added->len > 0) driver = camel_session_get_filter_driver(session, (folder->folder_flags & CAMEL_FOLDER_FILTER_RECENT) ? "incoming":"junktest", NULL); if (driver) { recents = g_ptr_array_new(); - for (i=0;i<changed->uid_recent->len;i++) - g_ptr_array_add(recents, g_strdup(changed->uid_recent->pdata[i])); + for (i=0;i<changed->uid_added->len;i++) + g_ptr_array_add(recents, g_strdup(changed->uid_added->pdata[i])); } if (driver || junk || notjunk) {
viktor, can you attach your patch once again as an attachment here please (cvs diff -pu)? thanks in advance...
Created attachment 73486 [details] [review] correct patch for cvs HEAD Ok, this is the correct patch, made from the cvs HEAD branch.
Marking as a duplicate of #324804, which is about same issue (related to the unreliable recent flag), but has the more extensive and recent discussion. I'm also adding a note in 324804 that this bug has a working patch to workaround the issue (at least for me). *** This bug has been marked as a duplicate of 324804 ***
I tested this patch and it seemed to work. I have now upgraded to Gnome 2.18 with eds 1.10 and it seems to be happening again. Was this patch integrated into 1.10?
bug 324804 is still open and not closed as fixed, so obviously this has not been fixed yet.
After a discussion with Jeff, this patch will not be used, thus rejection for him.