fix(desktop): require explicit action to mark Inbox read - #3913
Conversation
Signed-off-by: Tal Weiss <major.tal@gmail.com>
|
good first contribution. the explicit mark-as-read split matches how people skim an inbox. one ask: does keyboard/shortcut open of an unread item still auto-mark, or only click-to-preview? |
Chessing234
left a comment
There was a problem hiding this comment.
explicit mark-read is the right default for an inbox that also drives detail selection. the wide-vs-narrow completion selection tests look solid. one product ask: if users relied on auto-read-on-open, a one-line settings toggle (or release note) will save the "my badge never clears" reports after this lands.
|
Thanks! Keyboard opening is covered too. The test focuses an unread row, presses Enter, and checks that it stays unread until Mark as read is used. Good point about letting people know about the change. Since #3683 specifically asks for explicit-only read behavior, I left a settings toggle out for now. Happy to add a changelog note if the maintainers want one. |
Hey good people, I'm Tal and this is my first contribution to this (awesome) project. It's a bug that was bothering me while dogfooding Buzz. I hope it's in good order...
Summary
Previewing an unread Inbox item currently calls the same read-state mutation as the explicit Mark as read action. That makes ordinary browsing consume the unread queue, and in unread-only mode it can remove the row merely because it was opened.
This change separates selection from completion:
The implementation keeps the existing persistence path intact and adds a small pure selection helper so next-row behavior is independently testable.
User impact: people can inspect and move through their unread Inbox without losing the queue, while explicit completion still synchronizes through the existing read-state mechanism.
Related issue
Fixes #3683.
No duplicate open PRs were found for this issue.
Testing
. ./bin/activate-hermit && just cion the rebased commitManual verification:
There is no layout or styling change, so static before/after screenshots would show the same UI. The interaction and read-state transition are covered by the Chromium regression and manual steps above.