镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

fix: exclude muted channels from sidebar unread scroll indicators - #2335

Merged
laneysmith merged 1 commit into
mainfrom
laneys/fix-muted-unread-scroll-cue
Nov 4, 2026
Merged

laneysmith merged 1 commit into
mainfrom
laneys/fix-muted-unread-scroll-cue

Conversation

@laneysmith

@laneysmith laneysmith commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Context

Muted conversations should not trigger the sidebar's floating unread notification.

Problem

Muted channels can retain invisible unread markers after their visible dots are suppressed. The scroll indicator still counts those markers, leaving a misleading “1 unread” notification.

Solution

Exclude confirmed-muted destinations from the scroll indicator's count and avatar previews, including DMs, Solo chats, mentions, manual unread and thread replies. Keep their unread state intact so unmuting restores the indicators.

Test Steps

  1. Run this branch locally with bin/just desktop and use your configured Buzz account.
  2. Mute an unread conversation and scroll it outside the sidebar viewport. It should contribute nothing to the floating unread count or avatar previews.
  3. Unmute it. Its unread indicator should return without requiring a new message.

Automated validation passed: 15,978 unit tests and 14 sidebar browser checks across Chromium and WebKit. A separate browser reproduction confirms the baseline retains “1 unread” after muting the only unread DM and this branch removes it. Native app and human acceptance remain pending.

Videos and Screenshots

Same synthetic browser fixture and 1440 × 500 viewport; before is the base commit and after is this branch.

Before After
Muted DM still triggers 1 unread Muted DM no longer triggers the unread indicator

@laneysmith laneysmith changed the title Exclude muted channels from sidebar unread scroll indicators fix: exclude muted channels from sidebar unread scroll indicators Nov 3, 2026
@laneysmith
laneysmith marked this pull request as ready for review November 3, 2026 22:35
@laneysmith
laneysmith requested a review from a team as a code owner November 3, 2026 22:35

@salman1993 salman1993 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Reviewed by sol, Salman's AI agent, on his behalf at 7d7fc5310755c7e38d145a8956a2f93db8e00908.

No blocking findings. Confirmed mute state excludes both unread and thread markers before the sidebar derives counts, avatar previews, and reveal targets. The attribute observer handles mute/unmute changes without requiring another message, and the unread stores remain untouched.

Validation:

  • All 14 sidebar browser checks passed across Chromium and WebKit.
  • The two sidebar test files plus CommunityPicker passed on a focused rerun: 72 tests.
  • Removing the mute filter made five regression cases fail; restoring it returned all 14 SidebarUnread tests to green. The working tree is clean.
  • Full Vitest: 15,977 passed, 21 skipped, one failure in the unchanged CommunityPicker.test.tsx:434 right-click focus assertion. That entire file passed on rerun. Its test does not render the changed components, so I do not consider it a blocker for this fix.
  • Required CI and DCO are green at this head.

Native app and human acceptance remain pending, as documented in the PR. This review does not attest those checks.

@laneysmith
laneysmith force-pushed the laneys/fix-muted-unread-scroll-cue branch from 7d7fc53 to ded24c9 Compare November 4, 2026 16:12
Co-authored-by: Blue Raspberry Jello Canelé <417c271f0f8eb7d0c3eb9e706a364c84a9e938d7ac18621dc30185109fcaac49@buzz.block.builderlab.xyz>
Signed-off-by: Laney Pouzet <laneys@squareup.com>
@laneysmith
laneysmith force-pushed the laneys/fix-muted-unread-scroll-cue branch from ded24c9 to be2c20a Compare November 4, 2026 18:46
@laneysmith
laneysmith merged commit aeb9797 into main Nov 4, 2026
41 checks passed
@laneysmith
laneysmith deleted the laneys/fix-muted-unread-scroll-cue branch November 4, 2026 20:45
gilgtm added a commit that referenced this pull request Nov 4, 2026
* origin/main:
  fix: exclude muted channels from sidebar unread scroll indicators (#2335)
  fix(claude-code): open long Claude transcripts a page at a time (#2428)
  feat(solo): share chats as view only (#2375)
  fix(inbox): show Solo responses under All, read live replies in the open conversation, describe toolbar badges (#2275)
  AIDA-2434: Show saved teams in mentions (#2339)
  AIDA-2455: Restore channel scrollbar dragging beside threads (#2436)
  feat(agent-protection): show the owner why a protection provider denied input (#2105)
  fix(search): show slow lookups beside their section headings (#2442)
  Align Bestie DM layout and unread state; speed up thinking shimmer (#2418)
  Send Claude, Pi and Goose history as exact records (#2088)
  fix(agent-activity): align the stopped note and show it after the agent's reply (#2441)
  fix(agents): stop orphaned Attention commands and prevent duplicate runs (#2448)

Signed-off-by: Gil Birman <gil@squareup.com>
Co-authored-by: Claude <noreply@anthropic.com>

# Conflicts:
#	src/app/shell/PageNavigation.tsx
wpfleger96 added a commit that referenced this pull request Nov 4, 2026
…-nip-fi

* origin/main:
  feat(inbox): preview recent Inbox activity when hovering the sidebar row (#2347)
  Add collapsible Solo and Team sidebar sections (#2296)
  fix(codex): open long Codex transcripts a page of items at a time (#2259)
  Keep Solo model and effort choices per chat (#2342)
  feat(sidebar): smooth channel reordering with bounded motion (#2108)
  Connect legacy agents from DMs and channel mentions (#2423)
  fix: exclude muted channels from sidebar unread scroll indicators (#2335)
  fix(claude-code): open long Claude transcripts a page at a time (#2428)
  feat(solo): share chats as view only (#2375)

# Conflicts:
#	src/app/shell/PrimarySidebar.tsx
damienrj added a commit to damienrj/buzz-app that referenced this pull request Nov 4, 2026
…-clone-auth-ab8b97

* origin/main: (38 commits)
  feat(identity): decide a missing backup choice from community membership (block#2378)
  Offer Builderlab decisions in FI builds (block#2227)
  feat(inbox): preview recent Inbox activity when hovering the sidebar row (block#2347)
  Add collapsible Solo and Team sidebar sections (block#2296)
  fix(codex): open long Codex transcripts a page of items at a time (block#2259)
  Keep Solo model and effort choices per chat (block#2342)
  feat(sidebar): smooth channel reordering with bounded motion (block#2108)
  Connect legacy agents from DMs and channel mentions (block#2423)
  fix: exclude muted channels from sidebar unread scroll indicators (block#2335)
  fix(claude-code): open long Claude transcripts a page at a time (block#2428)
  feat(solo): share chats as view only (block#2375)
  fix(inbox): show Solo responses under All, read live replies in the open conversation, describe toolbar badges (block#2275)
  AIDA-2434: Show saved teams in mentions (block#2339)
  AIDA-2455: Restore channel scrollbar dragging beside threads (block#2436)
  feat(agent-protection): show the owner why a protection provider denied input (block#2105)
  fix(search): show slow lookups beside their section headings (block#2442)
  Align Bestie DM layout and unread state; speed up thinking shimmer (block#2418)
  Send Claude, Pi and Goose history as exact records (block#2088)
  fix(agent-activity): align the stopped note and show it after the agent's reply (block#2441)
  fix(agents): stop orphaned Attention commands and prevent duplicate runs (block#2448)
  ...

Signed-off-by: damienrj <damien@squareup.com>
johnmatthewtennant added a commit that referenced this pull request Nov 4, 2026
* origin/main: (38 commits)
  fix(browser): load scheme-less address input over https, falling back to http (#2467)
  fix(identity): stop one-click key unlinks and show the linked backed-up key (#2486)
  fix(test): observe coordination transition events (#2297)
  fix(profiles): keep the next view's profile reads through a shrink (#2395)
  fix(channels): show Add and Send message errors above the Manage members list (#2421)
  fix(threads): keep reply hooks off agent activity bubbles (#2422)
  fix(channels): offer only Copy link in a not-joined preview's sidebar actions (#2425)
  test: scope row menu placement checks to active section rows (#2493)
  feat(relay): detach channel windows to a point in history (#2042)
  feat(identity): decide a missing backup choice from community membership (#2378)
  Offer Builderlab decisions in FI builds (#2227)
  feat(inbox): preview recent Inbox activity when hovering the sidebar row (#2347)
  Add collapsible Solo and Team sidebar sections (#2296)
  fix(codex): open long Codex transcripts a page of items at a time (#2259)
  Keep Solo model and effort choices per chat (#2342)
  feat(sidebar): smooth channel reordering with bounded motion (#2108)
  Connect legacy agents from DMs and channel mentions (#2423)
  fix: exclude muted channels from sidebar unread scroll indicators (#2335)
  fix(claude-code): open long Claude transcripts a page at a time (#2428)
  feat(solo): share chats as view only (#2375)
  ...
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