On Mon, 27 Jan 2003, Andreas Aardal Hanssen wrote: > >> The "updated flags" yes - so the unupdated flags need not be returned, no? > >If an external entity changed flags (which is what is being discussed), then > >there is always an update. The question is therefore meaningless. > Spare me the hostility - the question was not "should flag updates from > external entities be shown" but "is this correct IMAP".
There is no hostility. You asked a meaningless question. To understand the answer, you need to understand that the question was meaningless and why it was meaningless. The question was meaningless because the text that you mentioned is specifically scoped to a specific instance: "if a change to a message's flags from an external source is observed" and states that the untagged FETCH response must be sent in that instance even if .SILENT was used. No change to a message's flags from an external source is involved. The entire premise of that text does not apply to your question; and because that text does not apply, the question becomes meaningless. > If I do this: > > 1 FETCH 1 FLAGS > * 1 FETCH (FLAGS (\Seen)) > 2 STORE 1 +FLAGS () > * 1 FETCH (FLAGS (\Seen)) > If the IMAP server knows, in this example, that the client is perfectly > aware of the state of flags in message #1, why should it then send the > untagged FETCH? Leaving aside the fact that () is a silly argument to +FLAGS and -FLAGS (it is only meaningful for FLAGS), the reason is simple: the IMAP specification requires it. The reason why the IMAP specification requires it is to give the client an affirmative statement about the state of flags after a STORE, as opposed to leaving the client with a potentially undefined situation. That may appear silly in the scenario that you outline, but it is less silly in other situations. Now that I think about it, "STORE n +FLAGS ()" (and the same with -FLAGS) is exactly equivalent to "FETCH n FLAGS". Thus, IMAP has three ways of doing the same thing. We could prohibit () in the case of +FLAGS and -FLAGS, but it hardly seems worth it just to eliminate two silly homonyms. -- Mark -- http://staff.washington.edu/mrc Science does not emerge from voting, party politics, or public debate.
