diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-14 20:06:08 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-14 20:06:08 +0200 |
| commit | 4a4849421ddac044212cd0e17f9aee8ff2606292 (patch) | |
| tree | bedfb35f370b637eedcb3cd4d24be8ac75b257b5 /src/tagstrip.cpp | |
| parent | bde7409ef817089298718376e46a57b2d303cf02 (diff) | |
| download | qtmaildir-4a4849421ddac044212cd0e17f9aee8ff2606292.tar.gz qtmaildir-4a4849421ddac044212cd0e17f9aee8ff2606292.zip | |
Revert the message-scoped auto mark-read
Reverts bde7409 and 66f1159. The user hit the worst possible symptom:
clicking one message marked a DIFFERENT, unrelated message read.
The cause is in markCurrentThreadRead, which reads
m_model->threadAt(current.row()). CLAUDE.md records this exact trap: a
tree numbers rows PER PARENT, so a reply's row() indexes its siblings
and threadAt() on it answers about an unrelated thread near the top of
the list. The guards then compared the right ids against the wrong
thread and let a write through for whatever message the timer's state
named.
That fault predates these commits, but they made it reachable and
harmful: while the write was thread-scoped the mismatch was mostly
masked, and scoping it to a single message turned it into "a random
message is now read".
Reverting rather than fixing forward. Marking the wrong mail read syncs
out to the server and cannot be undone from here, so the safe state is
the previous behaviour, which is too broad but predictable. The item 66
work in 4a4f82f stands: a thread root still renders one message.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/tagstrip.cpp')
0 files changed, 0 insertions, 0 deletions
