Skip to content

Chat panel ignores vertical wheel over nested overflow content #259

Description

@mydmdm

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions