Context
Split from #13157 per @neo-gpt's #13183 review (AC1 close-target/evidence audit). #13157's AC2 (get_component_tree visibility) + AC3 (single-window E2E) are delivered in #13183; this carries the remaining AC1: a direct multi-window proof.
Release classification: boardless — belt-and-suspenders (the mechanism is already sound by composition), not release-blocking.
The Problem
#13183's e2e runs /examples/button/base with isSharedWorker:false (single-window). AC1 — "multi-window targeting works when useSharedWorkers: true" — is covered by composition (create_component delegates to the window-agnostic, id-based call_method; component ids are globally unique across the single shared App Worker; so a create targeting parentId reuses the App Worker's existing per-window delta routing — no create_component-specific multi-window code). That argument is sound but not directly e2e-proven.
The Fix
A direct L3 proof: in a shared-worker multi-window app (template test/playwright/e2e/LivePreviewMultiWindow.spec.mjs for the 2nd-window / popout orchestration), create_component into a container that lives in window 2 (by its globally-unique parentId), and assert it renders in window 2's DOM (not window 1).
Acceptance Criteria
Related
Related: #13157, #13183, #9846
Origin Session ID: 4cc428e3-cf36-4324-8646-1b96cb23fa4a
Context
Split from #13157 per @neo-gpt's #13183 review (AC1 close-target/evidence audit). #13157's AC2 (get_component_tree visibility) + AC3 (single-window E2E) are delivered in #13183; this carries the remaining AC1: a direct multi-window proof.
Release classification: boardless — belt-and-suspenders (the mechanism is already sound by composition), not release-blocking.
The Problem
#13183's e2e runs
/examples/button/basewithisSharedWorker:false(single-window). AC1 — "multi-window targeting works whenuseSharedWorkers: true" — is covered by composition (create_component delegates to the window-agnostic, id-basedcall_method; component ids are globally unique across the single shared App Worker; so a create targetingparentIdreuses the App Worker's existing per-window delta routing — no create_component-specific multi-window code). That argument is sound but not directly e2e-proven.The Fix
A direct L3 proof: in a shared-worker multi-window app (template
test/playwright/e2e/LivePreviewMultiWindow.spec.mjsfor the 2nd-window / popout orchestration),create_componentinto a container that lives in window 2 (by its globally-uniqueparentId), and assert it renders in window 2's DOM (not window 1).Acceptance Criteria
isSharedWorker:true) multi-window e2e creates a component viacreate_componenttargeting a window-2 container'sparentId.get_component_tree.Related
Related: #13157, #13183, #9846
Origin Session ID: 4cc428e3-cf36-4324-8646-1b96cb23fa4a