On Fri, 2005-05-27 at 10:51 -0700, Kevin Baker wrote:
> Thanks for the explination I totally understand now.
> 
> That being said, what is the actual harm in one message id
> being even a second off for the UID. They will both be
> entered in the mailstore, even if they are slightly out of
> order.

It matters because if a client sees a mailbox and the highest UID is 287
and UID 286 comes in later it will NEVER KNOW about UID 286 which means
mail is lost and the user is confused.

RFC2060 actually _encourages_ IMAP client authors to make this
optimization.


> Ultimately the Mail client will sort by the header
> information and if the clocks are different then they will
> be out of order.

No. You're confusing Received-time and UID-time.

You also assume clients perform an IMAP SEARCH ALL NOT DELETED operation
whenever a new message comes in. There's no such guarantee. If a client
saw "LAST UID=287" twice in a raw, then it'll never download UID 286.
It'll just never be fetched.

Here's the roadmap:

UID 287 inserted
        client sees highest UID number is 287
UID 286 inserted
        client NEVER DOWNLOADS UID 286

It never does because it has no reason whatsoever to think it exists.
Some IMAP clients will detect it later because they do an IMAP SEARCH
operation and treat the mailbox as a cache (Netscape, Thunderbird), but
others will never notice it until UIDVALIDITY changes.


> I should note that I've been running a Cyrus system for
> some time now that occasionally has messages arrive one or
> two spots out of order, due to latency with mailfilters.
> It really isn't a problem.

Cyrus _NEVER_ inserts UIDs before the highest number. Received time has
nothing to do with it.

> I realize this might bend the RFC slightly... but the
> added functionality is great and it will not break any
> mail clients. I am all for complete RFC compliance, but if
> we are talking about a matter of a second here and there
> due to processor lag I think we are probably going
> overboard.

No. It's a very serious violation of RFC2060. This "optimization" breaks
client optimizations. It breaks _most_ mail clients in very subtle ways.

People will complain.

-- 
Internet Connection High Quality Web Hosting
http://www.internetconnection.net/

Reply via email to