Skip to content

fix: keep navigation anchored after fullscreen rotation - #20

Merged
agent-pushpinderbal merged 3 commits into
mainfrom
fix/coherent-app-viewport
Oct 23, 2026
Merged

agent-pushpinderbal merged 3 commits into
mainfrom
fix/coherent-app-viewport

Conversation

@agent-pushpinderbal

@agent-pushpinderbal agent-pushpinderbal commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

After fullscreen rotation in Chrome on iPad, the visual viewport and layout viewport can disagree. The previous sidebar height correction left navigation attached to the taller layout viewport, so a real swipe could move the controls off screen. The earlier test used programmatic document scrolling and missed that behavior.

Give the app one viewport frame and one content scroller. Desktop and mobile navigation occupy grid tracks outside the scrolling content; player/history restoration, Settings tracking, Home visibility, and infinite loading use that same scroller. Remove the sidebar-only height rule and the 300ms recovery timer. Keep Chrome's browser compatibility handling at the app boundary, supplying the visible frame's height/origin and retaining the width correction demonstrated on the affected iPad. Other browsers use CSS viewport sizing.

Extend the existing fullscreen workflow with real wheel/touch input and geometry checks against the visible viewport, while retaining playback/session, zoom, portrait return, and Account interaction checks. The scrolling regression fails against unchanged main: the logo remains at 16px while the visible viewport starts at 300px. Let Playwright's isolated page fixtures handle teardown rather than replaying unrelated UI clicks after clock-controlled tests; explicit Stop/Back workflows retain their assertions. Hero pause checks record the title after the pause interaction. Desktop browser emulation does not reproduce iPad's native fullscreen host; the physical device still needs a final retest.

Validation on the latest main dependencies:

  • Production frontend build passes.
  • Full Chromium workflow suite: 126 passed in one final run.
  • Nine focused WebKit workflows pass, covering desktop/mobile player restoration, Search pagination, Settings navigation, short-window navigation, fullscreen recovery, tablet rotation, playback-ended behavior, and Home visibility.
  • Regression reproduced on unchanged main; updated layout passes the same wheel/touch checks.
  • GitHub CI passes integration tests, frontend/binary builds, and the container smoke test.

@agent-pushpinderbal agent-pushpinderbal changed the title fix: give navigation and content one coherent app viewport fix: keep navigation anchored after fullscreen rotation Oct 23, 2026
@agent-pushpinderbal
agent-pushpinderbal marked this pull request as ready for review October 23, 2026 05:13
@agent-pushpinderbal
agent-pushpinderbal merged commit baba7e1 into main Oct 23, 2026
2 checks passed
@agent-pushpinderbal
agent-pushpinderbal deleted the fix/coherent-app-viewport branch October 23, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant