Repository navigation
fix(agents): scroll the avatar dock with a mouse wheel - #2567
Merged
Merged
Conversation
The agent avatar dock is a horizontal strip with its scrollbar hidden, so a vertical mouse wheel (or vertical trackpad swipe) could not reach past the first row of avatars. Chromium also ignored horizontal wheel input over the dock's buttons. Route the wheel's dominant axis into the dock's horizontal scroll, leaving it native at either end and for pinch zoom. Co-authored-by: mbot <3754f8729004d95654c46dbab3129e4ab9ef05cc2534e2a3fbfc155983bd637b@buzz.block.builderlab.xyz>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
kalvinnchau
approved these changes
Nov 5, 2026
kalvinnchau
left a comment
Contributor
There was a problem hiding this comment.
🤖 Reviewed: no actionable findings. Wheel handling, listener cleanup and mode switching were checked; actual-app interaction checks passed in Chromium and WebKit. Native WebView2 and successful native avatar persistence remain unverified. Required CI must pass before merge.
tlongwell-block
added a commit
that referenced
this pull request
Nov 6, 2026
* eva/huddle-audio-fixes: (29 commits) fix(huddle): keep calls flowing under stalled sends and multiple devices fix(channels): wrap unread conversation stepping around the sidebar (#2682) fix(navigation): let bare buzz:// open Buzz without a broken-link notice (#2718) fix(inbox): open DM thread rows as the thread (#2587) test(channels): complete the context navigation fixture (#2783) fix(channels): open a thread's channel at its root message from the #channel link (#2377) fix(people): find people by a pasted npub or hex key (#2396) test(bestie): open the narrow long-history thread with clickRow (#2723) Account-first onboarding and sign-in recovery (#2579) fix(agents): scroll the avatar dock with a mouse wheel (#2567) fix(avatars): keep Done in view when the avatar popup is short (#2706) feat(messages): highlight reactions you've made (#2709) feat(usage): move Usage from the sidebar into Settings (#2742) fix(messages): keep a playing row mounted in the channel timeline (#2695) Fix plugin status declaration closure for author consumers (#2643) fix(navigation): keep empty new chats out of Back history (#1617) [buzz-app] Recover remote agent message outcomes (#2542) feat(messages): name background send destinations and attach the files that fit (#2406) feat(drafts): clear a draft from its row (#2725) Authorize external application identities in Buzz (#2685) ... Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz> Co-authored-by: Tyler Longwell <tlongwell@squareup.com> Signed-off-by: Tyler Longwell <tlongwell@squareup.com> # Conflicts: # docs/huddles.md # src-tauri/src/relay/huddle/audio.rs
wpfleger96
added a commit
that referenced
this pull request
Nov 6, 2026
…leanup * origin/main: (84 commits) Restore macOS Cmd-W window closing when no tab handles it (#2443) Make agent transcripts quieter and link finished replies to activity (#2424) fix(channels): wrap unread conversation stepping around the sidebar (#2682) fix(navigation): let bare buzz:// open Buzz without a broken-link notice (#2718) fix(inbox): open DM thread rows as the thread (#2587) test(channels): complete the context navigation fixture (#2783) fix(channels): open a thread's channel at its root message from the #channel link (#2377) fix(people): find people by a pasted npub or hex key (#2396) test(bestie): open the narrow long-history thread with clickRow (#2723) Account-first onboarding and sign-in recovery (#2579) fix(agents): scroll the avatar dock with a mouse wheel (#2567) fix(avatars): keep Done in view when the avatar popup is short (#2706) feat(messages): highlight reactions you've made (#2709) feat(usage): move Usage from the sidebar into Settings (#2742) fix(messages): keep a playing row mounted in the channel timeline (#2695) Fix plugin status declaration closure for author consumers (#2643) fix(navigation): keep empty new chats out of Back history (#1617) [buzz-app] Recover remote agent message outcomes (#2542) feat(messages): name background send destinations and attach the files that fit (#2406) feat(drafts): clear a draft from its row (#2725) ... # Conflicts: # src/bundled/builderlab/adapter-type/Activity.test.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The agent avatar picker (Create agent, and Change avatar on an agent's profile) shows the avatars in a horizontal dock whose scrollbar is hidden. Only a horizontal trackpad swipe could move it, so with a mouse wheel or a vertical swipe you were stuck on the first ~10 of 78 avatars. In Chromium (WebView2) horizontal wheel input over the dock's buttons didn't scroll it either.
Fix
A non-passive
wheellistener on the dock surface sends the wheel's dominant axis into the dock'sscrollLeft(line and page delta modes are scaled). It does nothing at either end of the dock, when the dock doesn't overflow, or for ctrl+wheel (pinch zoom), so those gestures stay native. The emoji background dock gets the same handling.Testing
AgentCreateDialog.test.tsx: a vertical wheel on a dock slot is prevented and scrolls the dock bydeltaY; a wheel back at the start stays native. Fails onmain(expected false to be true), passes with the fix.scrollLeftmeasured after each step:pnpm checkand the fullvitest runpass (956 files, 17836 tests).No browser cases added or removed; the probe was temporary.