diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-29 20:06:24 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-29 20:06:24 +0200 |
| commit | 236ac86ca09a24300e724c2372f3576bf3f6ff84 (patch) | |
| tree | 9ba6eefb4ddd7d5e37e1cb167faf334ae2290cd0 /README.md | |
| parent | fca0a2226e52b4e01ba199950a4eb308040c3e11 (diff) | |
| download | qtmaildir-236ac86ca09a24300e724c2372f3576bf3f6ff84.tar.gz qtmaildir-236ac86ca09a24300e724c2372f3576bf3f6ff84.zip | |
fix: open a conversation's first message itself for --messagecli-selectors
--message naming the first message of a multi-message conversation
selected the conversation row, so the pane showed the dashboard rather
than the message. The recovery matched the conversation row on its own
message id, which is the root's. The rule is that --message always
targets the message, shown inside its expanded thread, and that
--thread is the way to ask for the conversation.
Since item 177 setThreadMessages keeps a conversation's first message as
child 0, so the root already has a row of its own. applyPendingRecovery()
now lets the thread row answer for a named message only when that row is
not a conversation, which leaves a thread of one opening on its message
as before, and finds the root among the children like any reply. The
provisional pass still selects the thread while the tree loads and is
refined to the root's row when the children arrive.
The same recovery serves the stale notice and a double-click. A stale
notice raised while reading the root's row now reopens that row, which
is the same request. A double-click on a conversation row asks for the
conversation, so it no longer names the root and still lands on the
dashboard. recoveryOnTheFirstMessageSelectsTheThreadRow asserted the old
behaviour on the pre-177 premise that the root has no child row; it is
retargeted as recoveryOnTheFirstMessageSelectsItsOwnRow.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -55,9 +55,10 @@ qtmaildir [options] ``` `--account` on its own opens the startup view (`startup_query`) in that -account. `--thread` and `--message` open the whole conversation with that -message selected, and look for it in every account, switching the account -selector to All accounts. The three selectors combine: `--account work +account. `--thread` opens the whole conversation on its overview. `--message` +opens the same conversation expanded, with that message selected and shown, +including when it is the conversation's first message. Both look in every +account, switching the account selector to All accounts. The three selectors combine: `--account work --message '<abc@example.org>'` looks for that message in the work account only, and a message that lives elsewhere is a miss. `--message` takes a Message-ID with or without its angle brackets. `--thread` takes a notmuch thread id (hex |
