Problem
The Chat panel can ignore vertical mouse-wheel or trackpad scrolling when the pointer is over certain message content, even though the outer conversation is scrollable and is not at a boundary.
Confirmed affected surfaces include:
- collapsed disclosure titles whose truncated label uses
overflow: hidden
- Milkdown code blocks backed by CodeMirror
- tables and other horizontal-overflow rich content
Ordinary message text scrolls normally.
Verified cause
Side panels apply overscroll-behavior: contain both to the panel root and, through [data-canvas-panel] *, to every descendant. Overflow descendants therefore become scroll-chain boundaries. A vertical wheel event over one of these elements is not cancelled, but it cannot chain to the outer Chat scroller.
Field evidence captured an unmodified, non-default-prevented wheel event over span.truncate; the outer Chat viewport was away from its boundary and its scrollTop remained unchanged.
Expected behavior
- Vertical wheel input over truncated or horizontal-overflow message content chains to the outer Chat scroller when the inner surface cannot consume it vertically.
- Horizontal scrolling and genuine inner vertical scrolling remain native.
- An exhausted panel scroll chain remains isolated from Canvas pan and zoom.
- No content-specific synthetic wheel forwarding is required.
Delivery
PR #258 removes descendant-wide containment while retaining containment at the panel root, updates the architecture contract, and adds a real-browser regression for inner-to-outer wheel chaining without Canvas movement.
This issue was split from the broader input investigation around #251. The original PDF-specific report remains tracked by #251 and is not considered resolved by this change.
Problem
The Chat panel can ignore vertical mouse-wheel or trackpad scrolling when the pointer is over certain message content, even though the outer conversation is scrollable and is not at a boundary.
Confirmed affected surfaces include:
overflow: hiddenOrdinary message text scrolls normally.
Verified cause
Side panels apply
overscroll-behavior: containboth to the panel root and, through[data-canvas-panel] *, to every descendant. Overflow descendants therefore become scroll-chain boundaries. A vertical wheel event over one of these elements is not cancelled, but it cannot chain to the outer Chat scroller.Field evidence captured an unmodified, non-default-prevented wheel event over
span.truncate; the outer Chat viewport was away from its boundary and itsscrollTopremained unchanged.Expected behavior
Delivery
PR #258 removes descendant-wide containment while retaining containment at the panel root, updates the architecture contract, and adds a real-browser regression for inner-to-outer wheel chaining without Canvas movement.
This issue was split from the broader input investigation around #251. The original PDF-specific report remains tracked by #251 and is not considered resolved by this change.