fix(#139): app-shell for issue detail; fix zoom clipping the last ~20% of every app-shell page
Converts issue_detail.html (isd-*) to the viewport-locked flex shell, same pattern as the issues list. isd-main has no flex-shrink pitfall (display:block, not flex), but isd-sidebar's stacked metadata cards get the same flex-shrink:0 treatment as isl-main's .card.
Also fixes a third, more fundamental bug affecting the whole app-shell approach: zoom scales an element's own rendered box, not just its descendants. body.app-shell { height: 100dvh } zoomed 1.25x paints ~125dvh tall -- the 25% below the real viewport was silently clipped by overflow:hidden, no matter how far any descendant scrolled internally. This is what was actually causing 'can't reach pagination' from the start; the align-items/flex-shrink bugs fixed on the issues list page were real but separate, and had been masking this one.
Fixed by introducing a shared --zoom-factor custom property (used by both body's zoom and body.app-shell's height compensation via calc(100dvh / var(--zoom-factor))), plus overriding a competing body { min-height: 100dvh } from _components.scss that was clamping the compensated height back up (min-height wins over a smaller height).
Verified both pages via headless Chromium with real mouse.wheel() events (not just DOM scrollTo, which bypasses hit-testing and masked the min-height clamp bug) confirming: body's rendered height now matches the real viewport exactly, both columns scroll independently via genuine wheel input, isl-main's pagination control is reachable with 41 real issues, isd-main scrolls to its last comment, mobile breakpoint stacks to normal scroll with footer restored on both pages. Manually confirmed working by gabriel on the issues list page.
0 comments
muse hub commit comment sha256:c1d980625041d62afc5242a6ac466323937217d63fb8e601afd7b3be22a85876 --body "your comment"
No comments yet. Be the first to start the discussion.