diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-14 20:12:59 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-14 20:12:59 +0200 |
| commit | 38b9466aea7daa0ddde91c1de7d8082ac000c238 (patch) | |
| tree | dde2ed88e6fb1ccecfc8fe7f096d26d1ba815c31 /CHANGELOG.md | |
| parent | 4a4849421ddac044212cd0e17f9aee8ff2606292 (diff) | |
| download | qtmaildir-38b9466aea7daa0ddde91c1de7d8082ac000c238.tar.gz qtmaildir-38b9466aea7daa0ddde91c1de7d8082ac000c238.zip | |
docs: close item 66, open 87 and 88, record the row-number trap
Item 66 turns out not to have been the defect it was filed as. The pane
was never blank: an unexpanded thread root rendered the CONVERSATION,
and the same click rendered one message once the thread had been opened,
because the model learned the root's message id only when the replies
arrived. The user's step-by-step account is what separated the two
halves; two probes against a real database had failed to reproduce the
blank pane because there was none.
Closed by carrying firstMessageId in the query and removing the
conversation view, which the user asked for after being told the stubs
not expanding was itself a defect and that the feature was being judged
in a broken state.
Two defects came out of it and are open. 87: auto mark-read still marks
a whole thread, coherent while a root rendered the conversation and not
any more. 88: threadAt(current.row()) answers about the wrong thread for
a reply row, because a tree numbers rows per parent. 87 is blocked on 88
and the entry says why: a fix for 87 was written, mutation-checked,
shipped and reverted the same evening after it marked an unrelated
message read.
CLAUDE.md gains the row-number trap as its own entry rather than leaving
it implied by the item 20 note, plus the rule that a test for a write
path must exercise the reply case: the reverted fix was green because it
asserted on a root selection, the one case where row() is correct. The
cid-prefixing note is corrected to say every caller now passes one
message while explaining why the prefixing stays.
The changelog carries a Removed entry and an Upgrading note, including
that mark_read_delay_ms accepts a negative value to disable auto
mark-read entirely, verified against config.h.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'CHANGELOG.md')
| -rw-r--r-- | CHANGELOG.md | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index ec08727..e869346 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,17 @@ point at which they are stable. nothing to exclude from and running it would mean the whole Maildir minus one value. +### Removed + +- **The conversation view.** Selecting a thread used to render the whole + conversation in the message pane, earlier messages as unexpandable stubs with + the last two opened. Selecting any row, a thread root or a reply, now renders + exactly one message. + + It was also inconsistent: a thread root rendered the conversation only until + the thread had been expanded once, after which the identical click rendered a + single message. Read a thread by expanding it and walking the reply rows. + ### Changed - The dialog reporting configuration problems at startup now appears over the @@ -30,6 +41,19 @@ point at which they are stable. unchanged: a keybinding that is being ignored does, a notice such as "no sync command configured" does not. +### Upgrading + +Reading a thread now means expanding it and clicking down its replies. Nothing +in your config changes, and no habit built on the reply rows is affected, but +the pane will show one message where it used to show a conversation. + +Automatic mark-read still applies to the **whole thread**, so opening a thread +root marks its replies read as well, including ones you have not displayed. +That was consistent while a root rendered the conversation and is not any more. +Set `mark_read_delay_ms` to a negative value under `[general]` to turn the +behaviour off entirely if that matters to you; narrowing it to one message is +open work. + ## [0.20.0] - 2026-08-14 Anything on screen in the message pane can now be searched for by right-clicking |
