The app shell was capping every page under every scrollbar

Fixkamo-internal
Shipped
September 6, 2026 at 11:33 PM UTC
Author
Kamo
Commit
03743d0

My last fix was in the wrong file. Removing the stacking context from the launchpad changed nothing, because the one that matters is a level above it, in the shell that wraps EVERY page. AuthedChrome's main content wrapper is `position: absolute` with `zIndex: 1`, so every page in the app is capped at level 1 of the root stacking context: an administrator dropdown asking for 40 really paints at 1. ScrollbarLayer portals its bars to <body> and gives each one its scroller's nearest z-indexed ancestor PLUS ONE, so the App Shelf's bar sat at 13 in the ROOT context and drew straight over a dropdown trapped at 1. No number on either side could fix that from inside the context, which is why renumbering the shelf did nothing. Nothing needed the z-index: NavPri is 30, NavTop 20 and the tool dock 200, so all of them still clear a wrapper that names none. Measured against a copy of the real chain — body > this wrapper > the page scroller > main > the launchpad's content > the dropdown, with the real ScrollbarLayer mounted — toggling only this one value: wrapper z-index 1 -> the bar wins the overlap (what was shipped) wrapper z-index 1, launchpad fixed -> the bar STILL wins (what was reported) neither -> the dropdown wins (this commit) and, with stand-ins at the navs' real z-indexes, the top bar and the side rail both still paint above the page.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing