Skip to content

Fix Emoji Browser retry image lifetime race - #7

Merged
macro88 merged 1 commit into
mainfrom
feat/emoji-browser-ci
Nov 10, 2026
Merged

macro88 merged 1 commit into
mainfrom
feat/emoji-browser-ci

Conversation

@macro88

@macro88 macro88 commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

The pinned Emoji Browser refreshes its image cache after one retry image loads, revoking Blob URLs that other images are still decoding. Linux WebKit intermittently loses those images, so the six-card retry assertion fails. The unchanged main-CI retry passed, but a local Linux WebKit run reproduced 3 failures in 40 repetitions.

Add compatibility only for the exact reviewed Emoji Browser release: defer requested revocation while a DOM image references the URL, then release it after removal or source replacement. Unused URLs still revoke immediately. Original artifact verification and CSP are preserved; other apps and versions receive no override.

The regression checks loading, resolver-to-card handoff, cleanup and version isolation. The existing test still requires six cards and now checks six decoded images; its Resource mock also handles the individual downloads used by visible cards. No retries, longer timeouts or reduced assertions were added.

Validation:

  • Deterministic regression fails before the repair and passes afterward in Chromium and WebKit.
  • Linux WebKit: 70/70 focused repetitions pass, including 40 original retry cases.
  • Full runtime suite: 662 passed, 10 existing platform-specific skips.
  • Runtime typecheck/build and root checks pass; React Doctor and AISlop both 100/100; all ten dependency audits clean.

Hosted CI has passed the full runtime suite (662 passed, 10 existing skips), Android/iOS native compilation, both platform exports, shared tests and the 100/100 quality gates. Remaining lab jobs are being retried on the unchanged commit after slow Ubuntu package downloads during Playwright setup. Overall CI remains pending on those installer jobs. PR CI and branch CI. Production signing, physical-device acceptance and release publication remain separate.

Copilot AI balanced review requested due to automatic review settings November 10, 2026 11:40

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@macro88
macro88 merged commit 1e3552d into main Nov 10, 2026
57 of 64 checks passed
@macro88
macro88 deleted the feat/emoji-browser-ci branch November 10, 2026 12:36
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.

2 participants