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 /CHANGELOG.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 'CHANGELOG.md')
| -rw-r--r-- | CHANGELOG.md | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 830c09e..6701417 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,8 +16,11 @@ point at which they are stable. - `--account`, `--thread` and `--message` on the command line, so another program can open qtmaildir at a particular account's view, conversation or message. The three combine, and Qt's own options are accepted beside them. - `--account` alone opens the startup view in that account; `--thread` and - `--message` look in every account unless `--account` narrows them, and + `--account` alone opens the startup view in that account. `--thread` shows + the conversation's overview and `--message` always shows the message + itself inside its expanded conversation, the first message included. + `--thread` and `--message` look in every account unless `--account` + narrows them, and `--message` accepts a Message-ID with or without its angle brackets. A selector that matches nothing is named in the status bar and the window keeps the view it had. |
