Home

madison / open-git

public
Overview Code History Branches Pull requestsIssuesInsights Campfire Docs
main
HomeOverview Code PRsIssues

fix(web): stop the locked shell scrolling past the frame

2 months ago

8adaa61
Authored
VC7/26/2026, 9:25:02 AM
The app shell is height-locked at 100dvh with overflow hidden, but on long
forms the document itself gained ~84px of scroll, so the whole frame could be
dragged up to reveal dead space below it.

The cause was the visually-hidden `position: absolute` inputs Base UI renders
behind selects and checkboxes. Their inline style sets `position: absolute`
with no offsets, so each sits at its static position, and with no positioned
ancestor the containing block resolved to the initial containing block. That
made them count toward documentElement.scrollHeight and put them out of reach
of the shell's `overflow-hidden`, which only clips descendants whose containing
block is inside it. One hidden input below the fold was enough.

Making the scroll container `relative` scopes them to it. Measured on
/settings/general: documentElement.scrollHeight 1069 to 985 against a 985px
viewport, with the inner scroll range unchanged at 287px.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Parentf0d9bb7

1 file changed
  • apps/web/components/sidebar-app-frame.tsx+8−1