Hi, If I understand the thread sorting algorithm correctly (from draft-ietf-imapext-sort-17.txt and the code), it will sort like this (where I use numbers instead of dates with higher numbers being newer mails) 4 10 3 11 2 12 1 13 etc into all the lower levels. Thunderbird will actually sort this like this: 1 13 2 12 3 11 4 10 where threads are sorted by the newest child in them. Now, I am thinking that evolution simply uses dovecot's THREAD feature and doesn't implement anything itself, so that if I wanted to have that kind of threading, I'd have to implement it in dovecot. Would this be easy? I'm thinking that I should just treat all nodes as if they were dummy nodes in sort_root_nodes, but that only fixes the first level afaict, because later dates are not propagated up. Essentially, I think what the algorithm tb uses does is not use a nodes date as it's sorting criterion, but it's newest child, and apply this rule recursively. Does anyone else think this feature would be useful? I regularly end up almost missing mail because it is sorted at such a low position and I don't see the thread at all.. johannes -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 832 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20050708/fcce22e2/attachment-0001.bin>
On Fri, 2005-07-08 at 13:21 +0200, Johannes Berg wrote:> If I understand the thread sorting algorithm correctly (from > draft-ietf-imapext-sort-17.txt and the code), it will sort like this..> where threads are sorted by the newest child in them. Now, I am thinking > that evolution simply uses dovecot's THREAD feature and doesn't > implement anything itself, so that if I wanted to have that kind of > threading, I'd have to implement it in dovecot. Would this be easy? I'm > thinking that I should just treat all nodes as if they were dummy nodes > in sort_root_nodes, but that only fixes the first level afaict, because > later dates are not propagated up. Essentially, I think what the > algorithm tb uses does is not use a nodes date as it's sorting > criterion, but it's newest child, and apply this rule recursively. > > Does anyone else think this feature would be useful? I regularly end up > almost missing mail because it is sorted at such a low position and I > don't see the thread at all..Unfortunately Evolution sorts this way internally, otherwise I would have implemented that kind of better threading long time ago as an (RFC-breaking) option. There have been some talk in past in IMAP mailinglists about adding some options to THREAD command to change its behavior in different ways. Would be nice, but not a very high priority for me.. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20050712/182cd155/attachment-0001.bin>
Am I the only person who gets Timo's messages as txt attachments?
Johannes Berg wrote:> Hi, > > If I understand the thread sorting algorithm correctly (from > draft-ietf-imapext-sort-17.txt and the code), it will sort like this > (where I use numbers instead of dates with higher numbers being newer > mails) > > 4 > 10 > 3 > 11 > 2 > 12 > 1 > 13 > > etc into all the lower levels. Thunderbird will actually sort this like > this: > > 1 > 13 > 2 > 12 > 3 > 11 > 4 > 10 >... You're lucky. I've just installed Dovecot on a Debian Sarge machine here and am seeing some very strange thread sorting. In Thunderbird on both Fedora and Debian clients, my threads served up by Dovecot look like this: |-11 | `-12 |-2 |-3 |-4 | `-5 | `-6 | `-7 | `-8 |-1 `-9 `-10 Where the exact same threads served by Sendmail/imap look like this: |-1 |-2 |-3 |-4 | `-5 | `-6 | `-7 | `-8 |-9 | `-10 |-11 | `-12 Squirrelmail shows the threads correctly in both cases too, so I suspect there might be something funny going on with how Thunderbird handles Maildir threads. I notice that Dovecot doesn't support the THREAD=ORDEREDSUBJECT capability, might that have something to do with it? thanks, Greg