On Mon, 27 Jan 2003, Rob Siemborski wrote: >On Mon, 27 Jan 2003, Andreas Aardal Hanssen wrote: >> OT, but why does the server return the FETCH update when no change has >> been made to the flags? >Well, first of all, it's quite possible that a change WAS made to the >flags (since, this particular messages started with \Seen set).
Agreed, the "when" should have been an "if". >I read this to say "unless .SILENT is given, return the updated flags" The "updated flags" yes - so the unupdated flags need not be returned, no? > Note: regardless of whether or not the ".SILENT" suffix was > used, the server SHOULD send an untagged FETCH response if a > change to a message's flags from an external source is > observed. The intent is that the status of the flags is > determinate without a race condition. >This section says, "even if .SILENT is given, if some other IMAP session >changed the flags, you need to tell the client about it." >Note that "external source" implies that this isn't limited to other IMAP >sessions, just things that the client can't discern from the current IMAP >session. Sure, I guess we agree. Some servers always give the untagged FLAGS response. This is courier-imap: 3 store 1 +flags () * 1 FETCH (FLAGS (\Seen)) 3 OK STORE completed. 3 store 1 +flags () * 1 FETCH (FLAGS (\Seen)) 3 OK STORE completed. This is another IMAP server (identifies as IMAP4rev1 v11.241): 4 store 1 +flags () * 1 FETCH (FLAGS (\Recent)) 4 OK STORE completed 4 store 1 +flags () * 1 FETCH (FLAGS (\Recent)) 4 OK STORE completed Andy -- Andreas Aardal Hanssen - Binc IMAP http://www.bincimap.andreas.hanssen.name/