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

fix(agents): scroll the avatar dock with a mouse wheel - #2567

Merged
baxen merged 1 commit into
mainfrom
mbot/avatar-picker-scroll
Nov 6, 2026
Merged

baxen merged 1 commit into
mainfrom
mbot/avatar-picker-scroll

Conversation

@baxen

@baxen baxen commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

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 wheel listener on the dock surface sends the wheel's dominant axis into the dock's scrollLeft (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

  • New Vitest case in AgentCreateDialog.test.tsx: a vertical wheel on a dock slot is prevented and scrolls the dock by deltaY; a wheel back at the start stays native. Fails on main (expected false to be true), passes with the fix.
  • I probed the Change avatar dialog fixture by hand with Playwright, wheel at the dock center, with scrollLeft measured after each step:
    before: h-wheel 300 / v-wheel 300 after
    WebKit 300 / 300 (vertical does nothing) 300 / 600
    Chromium 0 / 0 300 / 600
  • pnpm check and the full vitest run pass (956 files, 17836 tests).

No browser cases added or removed; the probe was temporary.

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>
@baxen
baxen requested a review from a team as a code owner November 5, 2026 02:50
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-05T02:52:02.925518Z 32ec50c PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kalvinnchau kalvinnchau 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: 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.

@baxen
baxen merged commit f9ce9df into main Nov 6, 2026
76 of 78 checks passed
@baxen
baxen deleted the mbot/avatar-picker-scroll branch November 6, 2026 04:54
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
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