Repository navigation
Fix the mute icon flashing when selecting a channel - #2287
Conversation
Co-authored-by: Oliver <e78152627ea32fbacb070e5047afcfb8e409fa3343d9e618227baacca5b5e607@buzz.block.builderlab.xyz> Signed-off-by: John Tennant <[email protected]>
kalvinnchau
left a comment
There was a problem hiding this comment.
🤖 Approved. The muted bell now uses the same color transition as the navigation item label, and reduced motion keeps both immediate. Verified: the muted bell browser regression passes on chromium and webkit, and fails on chromium with the CSS reverted.
Co-authored-by: Oliver <e78152627ea32fbacb070e5047afcfb8e409fa3343d9e618227baacca5b5e607@buzz.block.builderlab.xyz> Signed-off-by: John Tennant <[email protected]>
wesbillman
left a comment
There was a problem hiding this comment.
🤖 Star Lord’s automated source review via Wes’s account, integrating independent Rocket, Mantis and Groot reviews.
No actionable findings at head aaeb8facc1cbf1326d9f5d5637c8fb81cf72968a, base 134248ba7b82f4b4797e2397aa1ede1d812a4032 (merge-base f33d469dc9dc1eb62406b7b0bc59f70c49d109c7). The shared sidebar override keeps supporting text and metadata on the hover ink during an unselected press, while preserving selected/disabled treatment and existing focus behavior. The browser regression exercises real pointer-down separately from release in both themes; a rendering engine is appropriate for this CSS state. The net feature diff is two files.
Reviewed source, callers, shared design rules, PR description, commit messages and all three attached fixture screenshots. Source-only: no tests, builds, app launches, timing measurements or independent fail/pass reproduction. One hosted-check snapshot showed 39 successful checks and two skipped (Windows native validation and Vitest flake check). Native/touch/keyboard behavior and human acceptance remain unverified by this review. The linked Linear issue was inaccessible (403). This COMMENT is not approval or merge authorization.
Signed-off-by: John Tennant <[email protected]> Co-authored-by: Damon <8a08290d889f1c68921542bfe9631d4cd671be9bea5f1114951f386819e4c10a@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <[email protected]> * origin/main: feat(agents): identify plugins in native hook output (#2299) [4/5] Add protection to the Codex harness plugin (#1879) feat(search): show member counts on channel results (#2333) Fix the mute icon flashing when selecting a channel (#2287) feat(agents): open a working agent's transcript from its activity (#2276) test(agents): refuse a real relay workflow mention in the harness kit (#2444) fix(agents): catch up every event watch on the kinds it watches (#1852) Keep local artifact collections current (#1507) feat(members): add several people to a chat in one write (#2010)
Co-authored-by: Honor <e0bf479eeebe47dde1e35705212a4df70616a7bc834d907ddfb18cf0405f8b1b@seiler-test.communities.public.builderlabstaging.xyz> * origin/main: feat(agents): identify plugins in native hook output (#2299) [4/5] Add protection to the Codex harness plugin (#1879) feat(search): show member counts on channel results (#2333) Fix the mute icon flashing when selecting a channel (#2287) feat(agents): open a working agent's transcript from its activity (#2276) test(agents): refuse a real relay workflow mention in the harness kit (#2444) fix(agents): catch up every event watch on the kinds it watches (#1852) Keep local artifact collections current (#1507) feat(members): add several people to a chat in one write (#2010) Signed-off-by: Brad Seiler <[email protected]>
* origin/main: Open any Inbox filter view by route (#2394) fix(bestie): deleting an agent saves no Bestie record where there was none (#2420) fix(unread): never treat agents-audience messages as unread (#1552) feat(focus): add an optional Focus plugin that quiets everything except Solo chats (#2277) [5/5] Add protection to the Goose harness plugin (#839) feat(agents): identify plugins in native hook output (#2299) [4/5] Add protection to the Codex harness plugin (#1879) feat(search): show member counts on channel results (#2333) Fix the mute icon flashing when selecting a channel (#2287) feat(agents): open a working agent's transcript from its activity (#2276) Signed-off-by: Michael Neale <[email protected]> # Conflicts: # crates/plugin-manager/tests/management.rs # src/app/pages.integration.test.mjs # src/features/agent-harness/acp/process.ts
…-service * origin/main: (73 commits) fix(bestie): deleting an agent saves no Bestie record where there was none (#2420) fix(unread): never treat agents-audience messages as unread (#1552) feat(focus): add an optional Focus plugin that quiets everything except Solo chats (#2277) [5/5] Add protection to the Goose harness plugin (#839) feat(agents): identify plugins in native hook output (#2299) [4/5] Add protection to the Codex harness plugin (#1879) feat(search): show member counts on channel results (#2333) Fix the mute icon flashing when selecting a channel (#2287) feat(agents): open a working agent's transcript from its activity (#2276) test(agents): refuse a real relay workflow mention in the harness kit (#2444) fix(agents): catch up every event watch on the kinds it watches (#1852) Keep local artifact collections current (#1507) feat(members): add several people to a chat in one write (#2010) feat(solo): let viewers join read-only spaces (#2301) [3/5] Add protection to the Claude harness plugin (#1878) fix(settings): keep the bottom padding on long sections (#2361) fix(mermaid): cap diagram output size (#2231) feat(agents): give plugin agent types the Buzz side of a turn (#2364) feat(plugins): pin buzz://plugin-install links to a path and commit (#2315) feat(plugins): tint currentColor SVG page icons like host icons (#2314) ... # Conflicts: # src-tauri/src/host_process.rs # src-tauri/src/lib.rs # src/bundled/claude-code/claude.ts # src/bundled/codex/rpc.ts # src/bundled/goose/goose.ts # src/bundled/goose/runtime.ts # src/bundled/goose/sessions.test.ts # src/bundled/goose/sessions.ts # src/features/agent-harness/acp/process.ts
* origin/main: (22 commits) feat(mentions): quieter mention menu that marks agents and their owners (#2328) feat: add a Canvas View tab, History diffs and a 256 KiB limit (#2318) feat(plugins): let local agents write and reload plugins (#2435) feat(onboarding): offer Create a community after public Builderlab sign-in (#2397) Open any Inbox filter view by route (#2394) fix(bestie): deleting an agent saves no Bestie record where there was none (#2420) fix(unread): never treat agents-audience messages as unread (#1552) feat(focus): add an optional Focus plugin that quiets everything except Solo chats (#2277) [5/5] Add protection to the Goose harness plugin (#839) feat(agents): identify plugins in native hook output (#2299) [4/5] Add protection to the Codex harness plugin (#1879) feat(search): show member counts on channel results (#2333) Fix the mute icon flashing when selecting a channel (#2287) feat(agents): open a working agent's transcript from its activity (#2276) test(agents): refuse a real relay workflow mention in the harness kit (#2444) fix(agents): catch up every event watch on the kinds it watches (#1852) Keep local artifact collections current (#1507) feat(members): add several people to a chat in one write (#2010) feat(solo): let viewers join read-only spaces (#2301) [3/5] Add protection to the Claude harness plugin (#1878) ... Signed-off-by: Gil Birman <[email protected]> Co-authored-by: Claude <[email protected]>
…r-load-perf * origin/main: Open any Inbox filter view by route (#2394) fix(bestie): deleting an agent saves no Bestie record where there was none (#2420) fix(unread): never treat agents-audience messages as unread (#1552) feat(focus): add an optional Focus plugin that quiets everything except Solo chats (#2277) [5/5] Add protection to the Goose harness plugin (#839) feat(agents): identify plugins in native hook output (#2299) [4/5] Add protection to the Codex harness plugin (#1879) feat(search): show member counts on channel results (#2333) Fix the mute icon flashing when selecting a channel (#2287) feat(agents): open a working agent's transcript from its activity (#2276) Signed-off-by: Will Pfleger <[email protected]> # Conflicts: # src/features/agent-harness/acp/agent-sessions.ts
Why
Pressing an unselected muted channel changed the mute icon to the selected text color before the selected background appeared. In dark mode the icon became black against the dark sidebar until mouse release.
What
Keep the shared SidebarNavigation metadata and secondary text in the hover color while pressing an unselected row. Selected and disabled rows retain their existing treatment.
Fixes AIDA-2429.
Reviewer-reproducible examples
The browser regression holds real pointer-down separately from pointer-up and checks the icon's rendered color in light and dark modes. This requires a rendering engine because DOM click() and jsdom do not exercise CSS :active. It fails on the previous PR head in Chromium and WebKit, where dark-mode ink changes from rgb(237, 247, 210) to black, and passes with this fix. One browser case replaces the earlier color-animation case.
Screenshots
Real app sidebar with disposable fixture data, captured while the mouse is held down.