bug: wrong order of messages in notmuch-show

Gregor Zattler telegraph at gmx.net
Sun Jul 29 06:57:52 PDT 2018


Hi David,
* David Bremner <david at tethera.net> [2018-07-29; 17:47]:
> Gregor Zattler <telegraph at gmx.net> writes:
>> * Gregor Zattler <telegraph at gmx.net> [2018-07-01; 23:27]:
> I find it helpful to look at these things in tree-view. 
>
>      July 09  Gregor Zattler        ┬►xxxxxxx-xxxxxxxxx-server xxxxxxxxxxxx               (inbox)
>      July 09  via RT                ╰┬►[support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33712] AutoReply: xxxxxxx-xxxxxxxxx-server xxxxxxxxxxxx (inbox replied)
>      July 09  Gregor Zattler         ╰┬► ...                                              (inbox replied)
>      July 10  Gregor Zattler          ├─►[support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33712] xxxxxxx-xxxxxxxxx-server xxxxxxxxxxxx (inbox)
>   Tue. 20:03  Gregor Zattler          ├─►[support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33712] AutoReply: xxxxxxx-xxxxxxxxx-server xxxxxxxxxxxx (inbox)
>      July 09  via RT                  ╰─►[support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33712] xxxxxxx-xxxxxxxxx-server xxxxxxxxxxxx (inbox)
>
> The place notmuch is not doing as nice a job as you would like is in
> ordering the children of your July 9 message. I think this is because it
> is added into the tree in the second pass. It ends up in this situation
> because its In-Reply-To field points to a non-existent (in the local
> database).  In the previous version of threading, I'm pretty sure it
> would have been a root message, which might have looked a bit better
> with respect to dates, but would have been just as confusing.

Yes it would or was.  Your poatches are surely an improvement.

> [enter thinking out loud mode]
>
> I agree there is still room for improvement here.  Looking at the code,
> it seems like it might make sense to order the children by date in
> _notmuch_message_add_reply. Currently this uses a generic linked list
> insert at tail, which is O(1). It would be more expensive to insert by
> date, but it would depend how many replies to a given message there are.

Thanks for considering this.


FWIW: This is what mutt does (the '=>' marks duplicates):

   1|   | 0|Di-19.06.18-18:26|Gregor Zattler      |  0K|FYI: xxxx  xxxxxxx  xxxxxxxxxxxx xxx
   2|   | 0|Di-19.06.18-18:26| via RT             |0,1K|`->[support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33575] AutoReply: FYI: xxxx  xxxxxxx  xxxxxxxxxxxx xxx
   3|   | 0|Di-26.06.18-14:44| via RT             |0,1K|[support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33575] Resolved: FYI: xxxx  xxxxxxx  xxxxxxxxxxxx xxx
   4|   | 0|Mo-09.07.18-10:03|Gregor Zattler      |0,1K|xxxxxxx-xxxxxxxxx-server xxxxxxxxxxxx
   5|r  | 0|Mo-09.07.18-10:04|via RT              |0,1K|`->[support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33712] AutoReply: xxxxxxx-xxxxxxxxx-server xxxxxxxxxxxx
   6|r  | 0|Mo-09.07.18-10:24|Gregor Zattler      |0,1K|  `->
   7|r  | 0|Mo-09.07.18-10:24|Gregor Zattler      |0,1K|    |=>
   8|   | 0|Mo-09.07.18-10:37|via RT              |0,1K|    |->[support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33712] xxxxxxx-xxxxxxxxx-server xxxxxxxxxxxx
   9|   | 0|Di-10.07.18-12:18|Gregor Zattler      |0,1K|    |->Re: [support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33712] xxxxxxx-xxxxxxxxx-server xxxxxxxxxxxx
  10|   | 0|Di-10.07.18-12:18|Gregor Zattler      |0,1K|    | `=>
  11|   | 0|Di-24.07.18-14:03|Gregor Zattler      |0,1K|    `->Re: [support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33712] AutoReply: xxxxxxx-xxxxxxxxx-server xxxxxxxxxxxx
  12|   | 0|Di-24.07.18-14:03|Gregor Zattler      |0,1K|      `=>

- The treads are ordered according to date of arrival.

- The "resolved" email (No 3) is not part of the 33575-Thread
  (which is a pity).


Thanks, Gregor
-- 
 -... --- .-. . -.. ..--.. ...-.-



More information about the notmuch mailing list