Contain chat scroll so it never chains to the page (deck slide-scroll leak)#1501
Conversation
|
Warning Review limit reached
Next review available in: 44 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (15)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
… so scrolling the chat never chains to the page behind it (e.g. company-hub deck slides) [preview:none] Adds Tailwind overscroll-contain (= overscroll-behavior: contain) to every scroll surface in the chat panel — message list + skeleton, guide/mingo empty-state regions, dialog history, composer textarea, sidebar, ticket list, context/slash popovers, inline tool-call/approval blocks, attachment strip. Reaching a scroll boundary inside the chat no longer propagates the wheel/touch scroll to the underlying page; the deck (native body scroll + sticky slide panels) previously advanced slides while scrolling the chat. Co-Authored-By: Claude Opus 4.8 <[email protected]>
6fae324 to
cbd1f08
Compare
…view:none] #1501 hardcoded overscroll-contain on the ChatMessageList scroller (deck slide-scroll fix); #1502 already made it the conditional overscrollContain prop (default true = same behavior, opt-out false for passive demos). Kept the prop (strict superset of #1501). #1501's other overscroll-contain additions (SourceChips, guide/mingo welcome scrollers, etc.) auto-merged and are preserved.
What
Adds
overscroll-contain(overscroll-behavior: contain) to every scroll surface inside the chat panel: message list + skeleton, guide/mingo empty-state regions, dialog history, composer textarea, sidebar, ticket list, context/slash popovers, inline tool-call/approval blocks, and the attachment strip.Why
On the company-hub deck (native body scroll +
position: stickyslide panels), scrolling inside the open chat chained to the page at the scroll boundaries and advanced the deck slides.usePreventScrolldoesn't fully lock the deck's scroll model, and the demo embed usesshell="none"(no body lock at all).overscroll-behavior: containstops the wheel/touch scroll from propagating to ancestor scrollers the moment the chat's own scroller hits its boundary — the spec-standard fix, independent of the host page's scroll model.Proof
overscroll-containresolves tooverscroll-behavior: containin the served CSS (verified live). 15 files, +20/−16.Follow-up to #1500 (already merged).
🤖 Generated with Claude Code