Files
jwinterm a354ed5b7b fix(splash): stop the handover re-locking scroll for the rest of the visit
First visit of a session ended with the page unscrollable. A hard refresh
appeared to fix it, which is what made it look like a caching oddity rather
than a bug: the session flag then skips the splash and neither lock runs.

Two things were managing html.style.overflow and they fought.

  1. The splash's own lock sets overflow:hidden while the cover is up, saving
     the previous value ("").
  2. enterFromButton then captured the previous value for the transition lock.
     By then it was already "hidden", from step 1.
  3. `entered` flips, the splash lock cleans up and restores "". Page scrolls.
  4. Up to 3s later the transition's release() restores its captured value,
     which is "hidden". Page is locked, and nothing ever clears it.

The release is now unconditional. By the time it runs the splash is gone and
the page must scroll, so restoring a captured value is wrong by construction:
there is no state worth preserving, only a lock to drop.

Verified with a real wheel event 5s after load, past both the 1337ms gate and
the 3s release cap where the re-lock used to land: overflow is empty and the
page scrolls.
2026-08-18 16:25:07 -04:00
..