Skip to content

Cover Worker RPC after realm replacement - #873

Merged
wieslawsoltes merged 1 commit into
mainfrom
fix/worker-realm-replacement-872
Sep 20, 2026
Merged

wieslawsoltes merged 1 commit into
mainfrom
fix/worker-realm-replacement-872

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Problem and result

The packaged Code OSS smoke stopped seeing Monaco's $computeUnicodeHighlights request after a top-level reload, while WebScene's prior navigation test only checked cancellation of the old Worker. This adds the missing production-shaped contract: every cycle cancels an executing pre-navigation Worker, replaces the realm, starts a named module Worker from a revoked Blob URL, imports its network module, and completes a Monaco-shaped structured-clone RPC.

The reduced contract passes on current main, so WebScene's Worker transport is not the owner of the remaining packaged Code OSS trigger failure. The dedicated CTest keeps that boundary explicit and runs 100 navigation/recreation cycles within a 20-second wall-time gate.

Closes #872.

Validation

  • ctest --test-dir /private/tmp/webscene-872-worker-build -R '^webscene_worker_navigation_replacement_tests$' --output-on-failure
  • 100 cycles: 1.53 seconds under the exact production V8 pointer-compression/PartitionAlloc configuration

@wieslawsoltes
wieslawsoltes merged commit bd36683 into main Sep 20, 2026
1 of 6 checks passed
@wieslawsoltes
wieslawsoltes deleted the fix/worker-realm-replacement-872 branch September 20, 2026 19:10
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.

Restore fresh Worker RPC after top-level realm replacement

1 participant