Improved rationale in UI/MailerUI/UIxMailListActions.m

Monotone-Parent: 4371482c9c25a9757f941f8b27520cda720cea01
Monotone-Revision: 0bf76f3e9fbac283fc0390e74b1e27d8d12c23c7

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2010-09-15T10:33:07
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Ludovic Marcotte 2010-09-15 10:33:07 +00:00
parent 7d56370ae1
commit c33e030588
1 changed files with 21 additions and 8 deletions

View File

@ -596,6 +596,26 @@
[headers addObject: msg];
while (message)
{
// We must check for "umimportant" untagged responses.
//
// It's generally caused by IMAP server processes sending untagged IMAP responses to SOGo in differnent IMAP
// connections (SOGo might use 2-3 per user). Say you ask your messages:
//
// 127.000.000.001.40725-127.000.000.001.00143: 59 uid fetch 62 (UID FLAGS ENVELOPE RFC822.SIZE BODYSTRUCTURE BODY.PEEK[HEADER.FIELDS (X-PRIORITY)])
// 127.000.000.001.00143-127.000.000.001.40725: * 62 FETCH (UID 62 FLAGS (\Seen) RFC822.SIZE 854 ENVELOPE .... (
// * 61 FETCH (FLAGS (\Deleted \Seen))
// * 62 FETCH (FLAGS (\Deleted \Seen))
// * 63 FETCH (FLAGS (\Deleted \Seen))
// 59 OK Fetch completed.
//
// We must ignore the * 61 .. * 63 untagged responses.
//
if (![message objectForKey: @"uid"])
{
[self setMessage: [msgsList nextObject]];
continue;
}
msg = [NSMutableArray arrayWithCapacity: 12];
// Columns data
@ -668,14 +688,7 @@
[msg addObject: [self msgRowID]];
// uid
if ([message objectForKey: @"uid"])
{
[msg addObject: [message objectForKey: @"uid"]];
[headers addObject: msg];
}
else
[self logWithFormat: @"Invalid UID for message: %@", message];
[msg addObject: [message objectForKey: @"uid"]];
[headers addObject: msg];
[self setMessage: [msgsList nextObject]];