Skip to content

Use larger content windows and renew isolated web reads on progress - #276

Merged
xxxsen merged 2 commits into
masterfrom
codex/content-fetch-windows
Oct 26, 2026
Merged

xxxsen merged 2 commits into
masterfrom
codex/content-fetch-windows

Conversation

@xxxsen

@xxxsen xxxsen commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

A progressing isolated-web content read currently expires after 15 seconds total. Pair the new runtime release with a Service Worker that renews the matching read only when its cumulative byte count advances.

 isolated resource read
+ READ_STARTED: start the active-read idle clock once
+ READ_PROGRESS: renew on increasing valid network bytes
+ renew queued reads while admission makes real progress

Pin the complete formal runtime v0.86.0 input set through the normal release-pin command. Its content policy uses 2 MiB network windows, prefetches the adjacent window after reading beyond halfway, and fetches files up to 5 MiB whole. Internal persistent blocks remain 256 KiB.

Evidence

  • Before: a slow active read can fail at 15 seconds despite receiving data.
    After: the Service Worker regression completes a read spanning 32 seconds with advancing bytes; repeated start notifications, duplicate counters and another active read cannot prolong a stalled read.
  • Local Web checks passed: structure/style rules, lint, types, 570 tests and the Next build.
  • Runtime validation: 2,301 tests and 39 focused browser cases cover the new policy, real slow transfers through async/sync bridges, persistent-cache reuse and bounded prefetch/memory.
  • All four core bridges have immutable releases with the matching Content I/O contract. PPSSPP additionally passed 58 native unit tests and 342 tests_good software-renderer cases.
  • Formal v0.86.0 host and both Provider bundles were downloaded and verified through the standard preparation path. Actual MV, MZ and PSP Runs used the exact published module and bundle digests.
  • Formal samples covered MV map startup and a warm title startup with no game-asset downloads, MZ files of 5,324,902 and 7,653,850 bytes split into 2 MiB ranges with clipped tails, and a PSP gameplay save restored in a different Run. Paused PSP canvas-region captures seven seconds apart were identical.
  • All 11 Retrom PR checks passed, including backend, integration, contracts, Web, four browser viewports and the branch image build.

Merge Danger

Door: one-way once the production tag is published.

Blast Radius: content-loading

The shared policy applies to managed game reads, including MV/MZ/TyranoScript. Runtime bundles and core assets remain immutable; existing valid game-cache blocks keep their identities and layout.

@xxxsen
xxxsen merged commit f14ba67 into master Oct 26, 2026
11 checks passed
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