Repository navigation
fix(chat): the wheel over the bottom stack's parts scrolls nothing in Chromium - #31767
Conversation
… Chromium
Chromium sent a wheel over the running tray's head to the transcript under the floating
stack (the tray head took the pointer, but nothing held the wheel), so
agent-pane-dock-gutters failed on chromium ("tray": boxScrolls true). A non-passive
listener on the stack now holds a wheel over a part that has nothing of its own left to
scroll that way; gutters and Jump to latest still pass through to the transcript.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Gallery before/after for
States
Pick other states with a Passes: CI passes on CI passes on Written by web and size checks: green Shipped in:
|
|
Owned by an agent session · session |
|
Found 6 test failures on Blacksmith runners: Failures
|
|
Review (codex gpt-6.1-sol high, review-router): SHIP at 3d4733a |
|
Review (next-review patch-id; carried): SHIP at 3bf77e6 The independent SHIP at 3d4733a carries to this head: the PR's own change ( |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Fixes a base red from #31497 (squash 7a9e1ab):
test/agent-pane-dock-gutters.test.tsfailed in Chromium only, in the running tray's case ("tray": boxScrolls: true). A wheel over the tray's head scrolled the transcript under the floating stack by -300px. The tray head takes the pointer, but nothing stopped the wheel there, so Chromium's compositor scrolled the transcript under it. WebKit already held it. The 22px row pitch from #31497 moved the rows under the tray, and that is when this surfaced.The fix is
wheelPassThrough.tsinstallDockWheelHold. It is one non-passive wheel listener on the stack (.acpmux-dock), installed fromApp.tsxwhile the dock is mounted. A vertical wheel over a part of the stack is prevented unless something under the pointer, inside the stack, can still scroll that way (a long draft, the queue, a menu's list). These still go to the transcript, throughpassesThrough/installWheelPassThroughas before: wheels over Jump to latest and over the parts' own bands and gutters. Pinch (ctrl) and sideways wheels are left alone. The listener sits on the stack only, so a wheel over the transcript never waits on it. It is removed when the dock changes or unmounts.Tests:
agent-pane-dock-gutterschromium "the gutter beside every part of the stack…" went from red to green. The rest of that file and all ofagent-pane-wheel-pass-through(chromium and webkit: Jump to latest, composer card, long draft) stayed green. fmt and tsc are clean.Agent session: agent session
🤖 Generated with Claude Code