Skip to content

Show an unsupported-browser notice for Safari - #423

Merged
andeplane merged 2 commits into
mainfrom
codex/fix-safari-engine
Sep 7, 2026
Merged

Show an unsupported-browser notice for Safari#423
andeplane merged 2 commits into
mainfrom
codex/fix-safari-engine

Conversation

@andeplane

@andeplane andeplane commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Safari currently cannot run Atomify's credentialless / SharedArrayBuffer simulation engine. Detect Safari/WebKit before starting the engine and show: “Safari is not supported for simulations. Use Chrome or Firefox on a desktop computer.” Examples and projects remain browsable, but simulation controls stay disabled and the engine is not downloaded.

The sidebar displays a persistent error instead of an endless loading indicator, with an accessible label and tooltip when collapsed. Also show an error when cross-origin isolation is unavailable or engine initialization rejects.

The existing isolation policy, service worker, engine implementation, and thumbnail rendering are unchanged. This PR explicitly marks Safari unsupported; it does not implement Safari compatibility or a fallback engine.

Validation:

  • npm run typecheck
  • npm run test:run: 460 tests passed
  • npm run build
  • npx playwright test --config playwright.safari.config.ts: three checks passed (three browser-inapplicable combinations skipped). WebKit shows the unsupported notice, skips the engine download, and keeps examples browsable. Chromium completes a simulation and shows an error when isolation is unavailable.

Closes #421

@andeplane andeplane changed the title Fix Safari simulation engine startup Show an unsupported-browser notice for Safari Sep 7, 2026
@andeplane
andeplane enabled auto-merge September 7, 2026 12:56
@andeplane
andeplane merged commit b68746b into main Sep 7, 2026
2 checks passed
@andeplane
andeplane deleted the codex/fix-safari-engine branch September 7, 2026 13:02
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.

Safari: engine never loads (DataCloneError) because index.html forces COEP: credentialless, which Safari doesn't support

1 participant