You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current webview/nested-document checkpoint — 19 September 2026
Exact inputs are WebScene 2cd3913fceff7a0c9660aca05ab232fa237bda1d, AppScene 0ef434a4040d0bf3bff840045987566904f1a34c, and unchanged Code OSS 645f29cc3176500b4b5762ba887cf2a7f0ffdf2c. Nested lifecycle/security and interaction providers are merged through cancelable beforeunload, ordered unload, same/cross-document history/reload, restricted cross-origin WindowProxy, focus/input, find/Selection, clipboard, links/downloads, drag and semantics.
The latest #268 audit found no additional bounded reusable provider gap. #267/#268 remain open for current-package cumulative behavior across Markdown Preview, notebooks, custom editors, extension panels/views, release notes, Getting Started, Chat/MCP, Mermaid and Simple Browser, including the reported Markdown preview failure. A newly reproduced product-neutral primitive gets a focused child issue/PR.
Only git diff --check runs in this wave. WPT/browser/product/security/lifecycle and package acceptance remain open.
Run the unchanged VS Code OSS 1.137 webview stack in WebScene with browser-shaped isolation, resource delivery, interaction, lifecycle, visual, performance, and accessibility behavior. Markdown Preview is the first deterministic reproduction, not the boundary of the work.
Enforce secure nested-document lifecycle for Code OSS webviews #267 secure nested-document lifecycle: the outer frame loads the prelude, then creates fake.html, accesses contentWindow/contentDocument, and uses open/write/close to install extension HTML under CSP and sandbox rules.
Related cross-repository owners are AppScene#27 (input/focus), #30 (native accessibility), #31 (packaged URLs/origins), #32 (downloads/clipboard/drag), #34 (network/streams), #36 (workers/messaging), and #41 (embedded document contexts). WebScene #81 and #102 remain shared prerequisites. CSS/visual issues remain under #235 and open PR #245 is outside this stack.
Use selected upstream WPTs plus a checked-in Chromium oracle for each standards surface; document exclusions instead of silently skipping.
Exercise top-level and nested realms on macOS arm64, Linux x64, and Windows x64 native runners and installed-package consumers.
Enforce CSP, opaque/same-origin sandbox transitions, local-resource roots, MIME/range/cache headers, navigation admission, and stale-generation rejection. No permissive bypass qualifies.
At steady state, 100 create/update/find/reload/dispose cycles leave zero live iframe realms, workers, clients, ports, observers, streams, cached response leases, and pending host requests from the disposed generation. After warm-up, retained RSS growth must be <= 8 MiB for the deterministic fixture and no queue may exceed its documented cap.
For the exact vscode-demo/README.md, cold command-to-first-complete-scene p95 must be <= 2 s and warm edit-to-updated-scene p95 <= 250 ms on the recorded macOS reference machine; each focused issue has tighter component budgets. Publish Chromium and native timings rather than hiding a regression inside the end-to-end allowance.
chat/MCP/Mermaid/Simple Browser and final three-RID package matrix.
Stack A is first because it is the current synchronous failure. Stack B follows because the unchanged prelude cannot initialize without it. Stack C may develop behind stable A/B interfaces, but security enforcement must land before product acceptance. Stack D closes only from a cumulative exact-head package. Each stack should use focused PRs, validate its cumulative top, and merge atomically. No implementation PR belongs in this investigation phase.
Acceptance
Every child issue is closed with WPT/browser/native/product evidence and numeric performance/teardown results.
All listed unchanged webview consumers either pass or have a specific, fail-closed exclusion with an owning issue.
The exact pinned package completes Markdown preview and representative non-Markdown consumers without VS Code source changes, Electron, CEF, or an embedded browser.
Security, accessibility, lifecycle, and resource gates run in release CI rather than remaining manual claims.
Active status — 17 September 2026
#253 is complete. #276/#278 merged at 053a5627/aa786c0e; an exact stamped Code 645f29c run reaches the version-6 controller and logs webview ready after 2.665 s. #281 remains open and blocked by active MessagePort lifetime #288 in PR #245. Hold #266 until #281 rebases, passes the cumulative ServiceWorker/WebSocket gates, and merges. Full Markdown remains blank because #266 still lacks Streams, FetchEvent.respondWith, and CacheStorage resource delivery.
Current webview checkpoint — 19 September 2026
Focused children under #268 now cover nested pointer, keyboard/focus, context menus, links, downloads, inbound drag routing, and bounded outbound drag requests through WebScene 2b64b08. Semantic snapshot/action/live/delta providers are also merged for nested accessibility.
AppScene has all three inbound drag adapters plus macOS and Windows outbound consumers through f3fd2d2e. Linux Wayland/X11 outbound consumption is active under AppScene #187. macOS semantic snapshot/delta peers and the reusable Windows UIA adapter are merged; Linux AT-SPI and action/live delivery are active under AppScene #184/#185.
Remaining work is real platform host wiring and cumulative unchanged Markdown/notebook/custom-editor/extension/Chat/Simple Browser selection/find/clipboard/accessibility/navigation/reload/teardown/package acceptance. Only source diff checks ran in the newest wave.
Current webview/nested-document checkpoint — 19 September 2026
Exact inputs are WebScene
2cd3913fceff7a0c9660aca05ab232fa237bda1d, AppScene0ef434a4040d0bf3bff840045987566904f1a34c, and unchanged Code OSS645f29cc3176500b4b5762ba887cf2a7f0ffdf2c. Nested lifecycle/security and interaction providers are merged through cancelable beforeunload, ordered unload, same/cross-document history/reload, restricted cross-origin WindowProxy, focus/input, find/Selection, clipboard, links/downloads, drag and semantics.The latest #268 audit found no additional bounded reusable provider gap. #267/#268 remain open for current-package cumulative behavior across Markdown Preview, notebooks, custom editors, extension panels/views, release notes, Getting Started, Chat/MCP, Mermaid and Simple Browser, including the reported Markdown preview failure. A newly reproduced product-neutral primitive gets a focused child issue/PR.
Only
git diff --checkruns in this wave. WPT/browser/product/security/lifecycle and package acceptance remain open.Parent epic: #227
Outcome
Run the unchanged VS Code OSS 1.137 webview stack in WebScene with browser-shaped isolation, resource delivery, interaction, lifecycle, visual, performance, and accessibility behavior. Markdown Preview is the first deterministic reproduction, not the boundary of the work.
Pinned audit baseline: AppScene
9f434e0, WebSceneb81f594c, VS Code OSS645f29c.Unchanged consumers in scope
They all converge on
webviewElement.tsandbrowser/pre/index.html; success from a hand-authored iframe does not qualify this epic.Proven dependency chain
HTMLIFrameElement.sandbox.add(...)currently throws synchronously.disableServiceWorker;index.htmlrejects whennavigator.serviceWorkeris absent.service-worker.jsneeds FetchEvent, Clients, CacheStorage, readable/writable/transform streams, ranges, cache validation, and resource-message transfer.fake.html, accessescontentWindow/contentDocument, and usesopen/write/closeto install extension HTML under CSP and sandbox rules.Related cross-repository owners are AppScene#27 (input/focus), #30 (native accessibility), #31 (packaged URLs/origins), #32 (downloads/clipboard/drag), #34 (network/streams), #36 (workers/messaging), and #41 (embedded document contexts). WebScene #81 and #102 remain shared prerequisites. CSS/visual issues remain under #235 and open PR #245 is outside this stack.
Native subissues
Global gates
vscode-demo/README.md, cold command-to-first-complete-scene p95 must be <= 2 s and warm edit-to-updated-scene p95 <= 250 ms on the recorded macOS reference machine; each focused issue has tighter component budgets. Publish Chromium and native timings rather than hiding a regression inside the end-to-end allowance.Proposed PR stacks and schedule
Stack A — synchronous frame creation
Stack B — service worker and resources (#265 then #266)
Stack C — nested document and interaction (#267 then #268)
Stack D — product qualification (#259–#263 and AppScene#130)
Stack A is first because it is the current synchronous failure. Stack B follows because the unchanged prelude cannot initialize without it. Stack C may develop behind stable A/B interfaces, but security enforcement must land before product acceptance. Stack D closes only from a cumulative exact-head package. Each stack should use focused PRs, validate its cumulative top, and merge atomically. No implementation PR belongs in this investigation phase.
Acceptance
Active status — 17 September 2026
#253 is complete. #276/#278 merged at
053a5627/aa786c0e; an exact stamped Code645f29crun reaches the version-6 controller and logswebview readyafter 2.665 s. #281 remains open and blocked by active MessagePort lifetime #288 in PR #245. Hold #266 until #281 rebases, passes the cumulative ServiceWorker/WebSocket gates, and merges. Full Markdown remains blank because #266 still lacks Streams,FetchEvent.respondWith, and CacheStorage resource delivery.Current webview checkpoint — 19 September 2026
Focused children under #268 now cover nested pointer, keyboard/focus, context menus, links, downloads, inbound drag routing, and bounded outbound drag requests through WebScene 2b64b08. Semantic snapshot/action/live/delta providers are also merged for nested accessibility.
AppScene has all three inbound drag adapters plus macOS and Windows outbound consumers through f3fd2d2e. Linux Wayland/X11 outbound consumption is active under AppScene #187. macOS semantic snapshot/delta peers and the reusable Windows UIA adapter are merged; Linux AT-SPI and action/live delivery are active under AppScene #184/#185.
Remaining work is real platform host wiring and cumulative unchanged Markdown/notebook/custom-editor/extension/Chat/Simple Browser selection/find/clipboard/accessibility/navigation/reload/teardown/package acceptance. Only source diff checks ran in the newest wave.