Improve inbox thread updates#1114
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f6387f9aed
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 66d905a89b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 084e71809b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 279381c4be
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 248244200a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 248244200a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
🤖 Updated screenshots from the latest Inbox overviewInbox rows with unread dots, muted metadata, channel chips, two-line previews, thread activity, and the selected item detail. Filter menuInbox header controls with the filter menu, including Threads. Inbox hover trayHovering an inbox item reveals the row action tray. Inbox detail action trayThe selected inbox message detail uses the same midpoint action tray placement as the channel view. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 460a75f954
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a2cb35c921
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b58412ed7d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 742b8c57d7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if ( | ||
| !( | ||
| threadRootId === null && | ||
| item.channelId && | ||
| highPriorityChannelIds.has(item.channelId) | ||
| ) |
There was a problem hiding this comment.
Exclude DM thread replies from the Home badge subtotal
When the unread event is a DM thread reply, the new routing keeps it in unreadChannelNotificationCount, and the same reply is also present as a synthetic thread inbox item. Because this guard only subtracts high-priority channel items when threadRootId === null, the dock badge adds the same DM reply once through the DM channel count and again through homeBadgeCountExcludingHighPriority; exclude high-priority channel items regardless of thread status, or avoid adding DM thread replies to the Home subtotal.
Useful? React with 👍 / 👎.
| (itemId: string) => { | ||
| undoUnreadLocal(itemId); | ||
| const item = itemById.get(itemId); |
There was a problem hiding this comment.
Clear grouped unread overrides when reading a thread row
When a root mention/needs-action row is manually marked unread and later represented by a newer thread reply, reading the visible row only removes the local unread override for the reply id. The old root id remains in localUnreadSet, and useHomeFeedNotificationState checks that override before channel/thread read markers, so the Home/dock badge can stay stuck even though the grouped row is read; clear unread overrides for the grouped item ids as well as itemId.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
buzz/desktop/src/features/channels/useUnreadChannels.ts
Lines 1426 to 1429 in 6facbc5
When a cold-start catch-up returns more than MAX_ACTIVITY_ITEMS thread replies, relay history is newest-first (the DB query orders by created_at DESC in crates/buzz-db/src/event.rs), but this merge appends that newest-first batch and then keeps the tail. With an empty or small threadActivityRef, the cap drops the newest replies and persists older ones, so the Inbox can miss the latest unread thread activity after restart; sort by createdAt before slicing or reuse the sorted addThreadActivityItems helper here.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".




Summary
Tests
cd desktop && . ../bin/activate-hermit && ../node_modules/.bin/biome check --write ...cd desktop && . ../bin/activate-hermit && pnpm typecheckcd desktop && . ../bin/activate-hermit && pnpm test -- src/features/channels/unreadReadMarker.test.mjs src/features/home/lib/inbox.test.mjs src/features/home/lib/inboxViewHelpers.test.mjsgit diff --check