[dev] IMAP thread pet peeve

Michael M Slusarz slusarz at mail.curecanti.org
Thu Jun 23 23:15:35 PDT 2005


Quoting Kevin Myer <kevin_myer at iu13.org>:

> The IMAP threading code relies (I think) on the IMAP THREAD extension, which
> allows mail servers to do the work of threading the results of a folder view.
> If your mail server uses the REFERENCES method, as specified by JWZ, its got
> the annoying "feature" that any message with the same subject, even if
> unrelated and received years later, are grouped together.  So if I 
> have a "test
> message" in my inbox from two years ago and I receive another "test message"
> right now, I'm going to have to go back two years to find it.  
> [Comments about
> cleaning out my inbox are appropriate too]
>
> Since this is done server side, I'm not sure of a good way to fix it. 
>  What I'd
> like to happen is to have the date take precedence over the subject, for
> like-subjected messages.  In other words, if a message has the same 
> subject as
> another but is totally unrelated, have it show up at the end of the 
> thread tree
> as a new parent.  Why something as loosy-goosy as a subject is cause 
> enough to
> group unlike messages together in an algorithm that goes to great lengths in
> creating parent/children relations is beyond me.

Having to download all headers from all messages in the mailbox + doing 
all the sorting in non-compiled PHP code (vs. more likely faster 
compiled code on the server) = way too much overhead to justify the few 
cases where the threading doesn't work as expected.

thunderbird/mozilla can get away with doing this kind of sorting since 
1) this sorting is being done on a user's computer where all CPU power 
is most likely "owned" by a single user and 2) these programs can cache 
these results for the entire time the program is over.  IMP would have 
to carry around *alot* of extra information in the session to be able 
to replicate this.

michael

_______________________________________
Michael Slusarz [slusarz at curecanti.org]


More information about the dev mailing list