Skip to content

fix(inbox): clear thread activity when the thread is read - #6125

Open
ranjank2alpha wants to merge 1 commit into
block:mainfrom
ranjank2alpha:fix/thread-read-marker-inbox
Open

fix(inbox): clear thread activity when the thread is read#6125
ranjank2alpha wants to merge 1 commit into
block:mainfrom
ranjank2alpha:fix/thread-read-marker-inbox

Conversation

@ranjank2alpha

Copy link
Copy Markdown

Reading a thread leaves every one of its replies looking unread indefinitely. The thread stays in the Inbox no matter how many times you open it — the only thing that clears it is marking each reply read individually.

resolveChannelActivityFeedItemReadAt consults the per-message marker (msg:<id>) and the channel marker, but not thread:<rootId> — which is the one marker that reading a thread actually advances. So the read frontier moves and nothing that consumes it can see the change.

getThreadReadAt, fifty lines above in the same file, already computes theright value; it just wasn't used on this path. This adds
resolveThreadActivityItemReadAt to fold the thread frontier in alongside the existing markers, and uses it in the unreadThreadFeedItems filter.

Tests cover the regression directly: a reply where only the thread marker moved, which resolved to null before this change. Also covered — a reply's own message marker still wins when it is ahead, a different thread's marker doesn't clear this one, and a reply with no resolvable root falls back to channel-level read state rather than throwing.

Signed-off-by: ranjankai <ranjan@rkai.in>
@ranjank2alpha
ranjank2alpha requested a review from a team as a code owner August 17, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants