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.

Reply via email to