summaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-14 20:12:59 +0200
committerDanilo M. <danix@danix.xyz>2026-08-14 20:12:59 +0200
commit38b9466aea7daa0ddde91c1de7d8082ac000c238 (patch)
treedde2ed88e6fb1ccecfc8fe7f096d26d1ba815c31 /CHANGELOG.md
parent4a4849421ddac044212cd0e17f9aee8ff2606292 (diff)
downloadqtmaildir-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.md24
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