On Tue, 2005-07-26 at 22:46 -0400, Mordechai T. Abzug wrote: > On Tue, Jul 26, 2005 at 10:30:21AM -0400, Geo Carncross wrote: > > > If a flag changes on UID 9 on host A and host B at nearly the same > > time (between replications) which flag change wins? What if they're > > not incompatible (one marking +FOOBaz and the other marking > > \Answered ?) > So I'm in favor of last-update-wins, and let the underlying DB pick. > Since you're guessing anyway, why not guess the easy way?
Because that's not what IMAP flags are. They're individual annotations to a message, not a single annotation - as all the flags and keywords combined. Clearly if a client said "STORE FLAGS (\Answered)" "STORE FLAGS (+FOOBaz)" they wouldn't care, but if they said: STORE +FLAGS (\Answered) STORE +FLAGS (+FOOBaz) they really mean for both of those flags to be stored. Consider an IMAP agent that periodically marks messages with the "Junk" keyword. Suddenly those flags disappear- but the message is no longer \Recent so that clients remove the junk-status. If someone leaves their Thunderbird all day, but periodically opens with Eudora, they've lost their junk-scanning abilities. Of course: Thunderbird _happened_ to think that this was a possibility and stopped using \Recent and instead uses "NonJunk" now- but are all applications supposed to be so forward-leaning when rigorous testing suggests that they need not be? -- Internet Connection High Quality Web Hosting http://www.internetconnection.net/