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 /tests/test_senddialog.cpp | |
| parent | fca0a2226e52b4e01ba199950a4eb308040c3e11 (diff) | |
| download | qtmaildir-cli-selectors.tar.gz qtmaildir-cli-selectors.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 'tests/test_senddialog.cpp')
0 files changed, 0 insertions, 0 deletions
