Skip to content

Stop Safari WebGL startup retry storms - #96

Merged
0xLeif merged 3 commits into
mainfrom
leif/viewer-safari-init
Oct 10, 2026
Merged

0xLeif merged 3 commits into
mainfrom
leif/viewer-safari-init

Conversation

@0xLeif

@0xLeif 0xLeif commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Safari can return a lost WebGL context before delivering its loss event, or refuse context/resource creation. The viewer previously retried initialization on every redraw, producing hundreds of context requests. Cache startup failures and detect loss directly during setup/drawing, so GPU work pauses until restoration while Slice editing and Preview remain usable. Rebuild once after restoration with source, camera and selected slice retained.

Validation:

  • Complete Chromium/WebKit suite: 256 passed, including all 293 text examples, binary/composition/folder inputs, size bounds and existing camera/picking/edit checks.
  • Two additional genuine early-loss checks passed, plus missing/already-lost startup and all five null GPU-resource cases. The pre-fix startup regression made 263 context requests; repaired initialization makes one.
  • Native Safari 26.5.2 independently verified real startup loss, Slice erase/Undo while paused and one restoration rebuild. Screenshot and source hashes are in docs/evidence/viewer-context/.
  • Pinned Fledge 1.7.2 / Trust 1.2.2 passed all eight verification steps, four strict specs, 55/55 source coverage and Augur proceed (risk 33). Actual unsigned agent:codex provenance is recorded for all three feature commits; the unchanged strict signature/reviewer policy rejects it and progressive Trust reports degradation. No trusted signature or human review is claimed.
  • Strict SpecSync verification passed under the existing approved canvas-recovery scope. Acceptance/archive is pending closing review.

The intermittent Safari/GPU cause remains unproven; this repairs the confirmed application retry gap. The matching site PR529 imports implementation 2cce498 verbatim.

@0xLeif
0xLeif merged commit ff547d7 into main Oct 10, 2026
10 checks passed
@0xLeif
0xLeif deleted the leif/viewer-safari-init branch October 10, 2026 22:09
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