Repository navigation
Qualify the unchanged webview resource broker across representative Code OSS consumers #428
Description
Parent: #266
Webview epic: #264
Release epic: #227
Proven remaining gap
All existing native children of #266 are closed. Merged coverage proves the unchanged VS Code OSS v6 Service Worker for Markdown scripts/styles/images, local-resource admission, 200/206/304/401/404 and HEAD behavior, ranges and validators, bounded streaming, CacheStorage replacement continuity, localhost redirects, parser resources, nested client ancestry, and 100-cycle retirement.
The remaining #266 acceptance item is breadth: the pinned Code OSS tree routes notebook renderer/preload modules, custom-editor assets, extension-detail media, chat/MCP webview modules, Mermaid module/Codicon assets, Simple Browser scripts/styles, and release-note media through the same asWebviewUri authority and v6 worker, but no single executable gate proves that representative matrix without a consumer-specific bypass.
The unchanged v6 worker does not define a host-unavailable offline fallback. Its CacheStorage use retains a validated body for 304 reuse. Existing same-registration active-worker replacement coverage therefore satisfies the product cache behavior; durable cross-engine storage is a separate standards/authority decision and is outside this acceptance-only child.
Focused scope
- Add a bounded executable fixture using the exact pinned
645f29cv6 worker. - Drive representative script/module, stylesheet/font, image/media, and fetch resources named for Markdown, notebook, custom editor, extension detail, chat/MCP, Mermaid, Simple Browser, and release notes.
- Prove every admitted request reaches the same host broker with the expected path, method, destination, MIME/body behavior, client identity, and no direct host fallback.
- Cover missing and out-of-root denials before bytes, a 32-concurrent-resource batch within the existing 64 MiB queued-body ceiling, one warm validator/cache reuse path, and 100 mixed-consumer cycles with bounded latency, engine-owned memory, process high-water RSS, pending requests, and teardown.
- Run the same contract in Chrome and native, plus exact-head directly related checks.
Ownership and non-overlap
Own only the existing pinned Markdown resource fixture, the Service Worker stream/fetch native gate, a dedicated WebPlatformSubset profile, and focused validation evidence. Runtime files change only if the exact fixture proves a new generic defect.
Do not touch #425/#239 nested CSSOM paths, #288 MessagePort lifetime paths, consolidation #76, AppScene, or vscode-demo.
Acceptance
- Chrome and native pass the representative consumer/resource matrix using the exact pinned v6 worker.
- Security/admission, cache/validator, concurrency/body bounds, and client retirement remain fail-closed and bounded.
- One hundred mixed cycles retain <= 8 MiB V8 heap and external memory; process RSS high-water grows <= 256 MiB. Warm 64 KiB delivery p95 remains <= 100 ms. Current RSS after engine teardown remains diagnostic because system allocators may retain freed transfer pages.
- Directly related hosted checks pass before focused merge.
- Stream and cache admitted Code OSS webview resources #266/[Epic] Qualify unchanged Code OSS webviews and nested document contexts #264/[Epic] Complete remaining Code OSS native release acceptance #227 record exactly what the fixture proves; packaged UI behavior remains with the release/package acceptance owners.
Activity
wieslawsoltes commentedon Sep 18, 2026
#428 completed through #431, merged as
99e852a3de72e4ceb4b47745b3cbf2f957495b9dfrom exact reviewed headfd9029f62bd7c78b1e10635423bd0f1ea249336d.The exact unchanged Code OSS
645f29cversion-6 worker now has one executable acceptance matrix for Markdown Preview plus notebook, custom editor, extension detail, Chat/MCP, Mermaid/Codicon, Simple Browser, and release-notes resources. The same gate covers 401 out-of-root and 404 missing failures, MIME/body/path integrity, 32 concurrent 1 MiB responses, validator-backed 64 KiB reuse over 100 requests, and 100 CSS-image cycles.Evidence:
fc71e92f: exact resource gate passed; matrix 0.15 ms p95; V8 used heap 1,488,612 bytes and external memory 85,687 bytes after collection; RSS high-water grew about 135 MiB inside the 256 MiB bound.No runtime defect or new resource authority was needed. Current RSS after engine destruction remains diagnostic because the macOS allocator retains freed transfer pages; live engine-owned heap/external memory and the process high-water stay bounded.