~rjarry/aerc#70: 
Two threading bugs

Using aerc-0.11 on Gentoo with the default config.

Here's a minimal maildir to reproduce it: http://0x0.st/oeTf.tar.gz Extract it somewhere ($HOME in the example) and temporarily add to your accounts.conf:

[Threading bug]
source = maildir://~/threading_bug
default = Inbox
from = dummy <dummy@dummy.net>

#1st bug

The todo.sr.ht discussion with subject "Re: ~rjarry/aerc#65: Charset handling in filters" isn't threaded at all, while it is on neomutt (without thread root).

#2nd bug

Resize your terminal windows to be something like 10 lines high and open aerc. The "[dev] Replace ranlib(1) calls?" thread isn't properly rendered until all messages have been displayed (by scrolling down or using G).

Status
REPORTED
Submitter
~q3cpma
Assigned to
No-one
Submitted
2 years ago
Updated
2 years ago
Labels
No labels applied.

~konimarti 2 years ago

On Mon Aug 1, 2022 at 6:37 PM CEST, ~q3cpma wrote:

Thanks for reporting this and sending the messages to test! Much appreciated!

#1st bug

The todo.sr.ht discussion with subject "Re: ~rjarry/aerc#65: Charset handling in filters" isn't threaded at all, while it is on neomutt (without thread root).

This discussion is not threaded because these messages lack the References header that aerc relies on for client-side message threading. Mutt seems to use the subject line when there is no References header available as a fallback.

We could consider bug #1 as a feature request for using the subject line when no References header is available.

#2nd bug Resize your terminal windows to be something like 10 lines

high and open aerc. The "[dev] Replace ranlib(1) calls?" thread isn't properly rendered until all messages have been displayed (by scrolling down or using G).

Client-side message threading only applies to the messages that have been fetched (i.e. were loaded in the message list) for performance reasons. It does not thread your entire mailbox. If this is required, server-side threading would be the only way for now until we have a message cache for the entire folder available. Server-side threading can be done with IMAP servers that support the THREAD extension or with the notmuch backend.

~q3cpma 2 years ago

On Mon Aug 1, 2022 at 11:44 PM CEST, ~konimarti wrote:

On Mon Aug 1, 2022 at 6:37 PM CEST, ~q3cpma wrote:

#1st bug

This discussion is not threaded because these messages lack the References header that aerc relies on for client-side message threading. Mutt seems to use the subject line when there is no References header available as a fallback.

I see.

#2nd bug Resize your terminal windows to be something like 10 lines

high and open aerc. The "[dev] Replace ranlib(1) calls?" thread isn't properly rendered until all messages have been displayed (by scrolling down or using G).

Client-side message threading only applies to the messages that have been fetched (i.e. were loaded in the message list) for performance reasons. It does not thread your entire mailbox. If this is required, server-side threading would be the only way for now until we have a message cache for the entire folder available. Server-side threading can be done with IMAP servers that support the THREAD extension or with the notmuch backend.

What's the caching situation? Does it fetch/cache only what's visible or a specific block size? I could imagine setting that to say "threads will contain at least the last N days".

In any way, it should be able to thread more than what's seen, at least a few weeks; that's really the point of threads, to group messages differently from the rest, despite their time spread.

Well, beggars can't be choosers, as they say.

~rockorager 2 years ago

What's the caching situation? Does it fetch/cache only what's visible or a specific block size? I could imagine setting that to say "threads will contain at least the last N days".

If you have caching turned on, messages which have been fetched (IE displayed) will be cached. You can set the max age of any item via cache-max-age. That said, just because it's in the cache doesn't mean it will now be threaded. Cached messages are only loaded when they need to be displayed.

~rockorager 2 years ago

~balejk 2 years ago

Just some of my thoughts: it seems reasonable to me that the cache should be used for client-side threading, at least for the messages that have already been fetched. For instance, neomutt downloads the headers for the full folder upon its opening, which of course causes a significant delay (just the first time with header cache enabled, though), perhaps aerc could do the same in the background? Preferably with a setting saying how many messages should be cached, e. g.: viewed (the current behaviour)/n (n newest messages)/since (messages new than a given date)/all.

~inwit referenced this from #188 1 year, 5 months ago

Register here or Log in to comment, or comment via email.