Keep an open message unread after Mark as unread #30

Merged
jcoffey-dev merged 1 commits from fix/mark-unread-sticks into main 2026-10-05 03:48:28 +00:00
Owner

Marking the open message unread re-ran the mark-read-after-delay timer,
which found an expanded unread message and marked it read again: the
unread count showed 1 for a moment, then dropped back. With the default
delay of 0 it was re-read before the reader could leave the message.

ThreadView now remembers which messages have been read while the
conversation is open, and the timer leaves those alone until it is
opened again. A message that was read here and is unread now was made so
on purpose, by this reader or on another device. Mail that arrives
unread while the thread is open is still marked read as before.

Verified on the mock: on main the unread count never rises after Mark as
unread; with this change it rises and stays. The new component test
fails on main in both the reported case and after the timer has read the
message once. No new strings.

Not changed: the report also suggests going back to the folder after
Mark as unread. That is a behavior change, left for a separate decision.

Fixes #25. Reported by @mbjboon82.

Marking the open message unread re-ran the mark-read-after-delay timer, which found an expanded unread message and marked it read again: the unread count showed 1 for a moment, then dropped back. With the default delay of 0 it was re-read before the reader could leave the message. ThreadView now remembers which messages have been read while the conversation is open, and the timer leaves those alone until it is opened again. A message that was read here and is unread now was made so on purpose, by this reader or on another device. Mail that arrives unread while the thread is open is still marked read as before. Verified on the mock: on main the unread count never rises after Mark as unread; with this change it rises and stays. The new component test fails on main in both the reported case and after the timer has read the message once. No new strings. Not changed: the report also suggests going back to the folder after Mark as unread. That is a behavior change, left for a separate decision. Fixes #25. Reported by @mbjboon82.
jcoffey-dev added 1 commit 2026-10-05 03:31:43 +00:00
Keep an open message unread after Mark as unread
ci / node (pull_request) Skipped
ci / version (pull_request) Skipped
ci / docker-build (pull_request) Skipped
ci / publish (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 2m14s
290cce571a
Marking the open message unread re-ran the mark-read-after-delay timer,
which found an expanded unread message and marked it read again: the
unread count showed 1 for a moment, then dropped back. With the default
delay of 0 it was re-read before the reader could leave the message.

ThreadView now remembers which messages have been read while the
conversation is open, and the timer leaves those alone until it is
opened again. A message that was read here and is unread now was made so
on purpose, by this reader or on another device. Mail that arrives
unread while the thread is open is still marked read as before.

Verified on the mock: on main the unread count never rises after Mark as
unread; with this change it rises and stays. The new component test
fails on main in both the reported case and after the timer has read the
message once. No new strings.

Not changed: the report also suggests going back to the folder after
Mark as unread. That is a behavior change, left for a separate decision.

Fixes #25. Reported by @mbjboon82.
jcoffey-dev merged commit 4a6bf677cb into main 2026-10-05 03:48:28 +00:00
jcoffey-dev deleted branch fix/mark-unread-sticks 2026-10-05 03:48:29 +00:00
Sign in to join this conversation.