Skip to content

fix(fullscreen): support Safari and improve mobile fallback - #272

Merged
ThisIs-Developer merged 2 commits into
mainfrom
fix/264-mobile-safari-fullscreen
Oct 8, 2026
Merged

ThisIs-Developer merged 2 commits into
mainfrom
fix/264-mobile-safari-fullscreen

Conversation

@ThisIs-Developer

@ThisIs-Developer ThisIs-Developer commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

The Fullscreen button silently does nothing when the browser has no standard element Fullscreen API. Older iPad Safari requires the prefixed API, and iPhone Safari has a browser limitation for page fullscreen (WebKit tracking issue, Safari 16.4 support announcement).

Use the supported native API and wait for its completion/error events, including older Safari's event-only methods. When native fullscreen is unavailable or denied, offer an explicitly named Expanded view and explain that browser controls remain visible.

  • Keep the exit button usable in Release Notes and after closing every tab; support Escape while allowing dialogs to handle it first.
  • Prevent overlapping requests, track browser-initiated exits, and report failed exits so they can be retried.
  • Fit expanded view to the visible viewport, avoid reflow during pinch zoom, preserve document contents, and exclude the expanded layout from printing.
  • Add translated messages, document platform limits, and synchronize the desktop bundle so the static build check passes.

Validation:

  • npm run build: passed.
  • npm run test:unit: 22 passed.
  • Focused fullscreen suite in Firefox and WebKit: 24 passed, including native round trips, touch exit, API failures, asynchronous prefixed events, repeated clicks, dialogs, viewport resizing, and print layout.
  • Full Chromium regression suite: 253 passed, 1 failed. All 12 fullscreen cases and all 4 smoke cases passed. The failure was trash.spec.js:240 at the Restore button disabled-state assertion after cancelling deletion and selecting an incomplete recovery record; an isolated rerun passed (1/1). The full run is not reported as fully green.
  • Firefox and WebKit smoke suites: 8 passed.
  • Hosted checks on commit 14decce: Vercel, Cloudflare Pages, Docker build, and GitGuardian all passed.

Before the update, regression cases reproduced the disabled exit control and missing legacy Safari API support on the previous PR revision. Those cases now pass in Chromium, Firefox, and WebKit.

The Safari compatibility cases use controlled API simulations and the local WebKit browser. A physical iPhone/iPad was not available; this change cannot enable Safari's missing native iPhone capability.

Closes #264

@vercel

vercel Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
markdown-viewer Ready Ready Preview Oct 7, 2026 5:44pm UTC

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Deploying markdownviewer with  Cloudflare Pages  Cloudflare Pages

Latest commit: 14decce
Status: ✅  Deploy successful!
Preview URL: https://dee777c2.markdownviewer.pages.dev
Branch Preview URL: https://fix-264-mobile-safari-fullsc.markdownviewer.pages.dev

View logs

@ThisIs-Developer ThisIs-Developer changed the title fix(fullscreen): handle mobile Safari limitations fix(fullscreen): support Safari and improve mobile fallback Oct 7, 2026
@ThisIs-Developer ThisIs-Developer added the bug Something is broken or not working as expected. label Oct 7, 2026 — with ChatGPT Codex Connector
@ThisIs-Developer

Copy link
Copy Markdown
Owner Author

@wwdd48s8km-bit Please try it and check if it is working correctly now. Do let me know if you notice any issues.
Link: https://fix-264-mobile-safari-fullsc.markdownviewer.pages.dev/

@ThisIs-Developer
ThisIs-Developer merged commit 9a2da47 into main Oct 8, 2026
5 checks passed
@ThisIs-Developer
ThisIs-Developer deleted the fix/264-mobile-safari-fullscreen branch October 9, 2026 17:48

This branch was successfully deployed

1 active deployment
Preview — 14decced Deployed Oct 7, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something is broken or not working as expected.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Full Screen button on mobile Safari is broken

1 participant