Sprint 9: API Completeness — Webpack Chunks, allowedGlobals Sync, HTML Error Handling #60
Labels
No labels
bug
docs
feature
housekeeping
html-spec
performance
react-compat
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
glow-all/true-headless-browser#60
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Sprint 9: API Completeness
Issue: #59
Epic: Phase 2 Production Engine
Aufwand: ~6h
Problem
Webpack-Sites (x.com, Discord, YouTube) bootstrappen nicht weil Chunks im tolerantProxy landen. HTML als JS verursacht 450+ SyntaxErrors.
fetch("/relative")scheitert bei Qwik. Mehrere Browser-APIs fehlen noch.Tasks
1. Webpack Chunk Capture — Der tolerantProxy frisst
window.webpackChunk_twitter_responsive_web.push(...):webpackChunk_*Patterns[name].push(chunk)ab, speichert in realem Array__webpack_require__Shim für Modul-Lookup2. HTML-as-JS Error Handling — 450+ SyntaxErrors durch Error-Seiten:
fetchContent()prüft Content-Type Header (wenn vorhanden)<→ onerror (keinnew Function())<script src="404.html">feuertonerror3. Relative URL Resolution in fetch —
fetch("/assets/data.json"):_resolveUrl(url, document.baseURI)auf instrumentierte fetch anwendenwindow.location.hrefoder<base>Tag4. Fehlende Browser-APIs:
window.caches— noop CacheStorage (open/match/delete/keys)Element.prototype.animate()— Fake Animation (sofort finished)HTMLDialogElement,HTMLDetailsElement,HTMLTemplateElement,ShadowRootaus Happy DOM5. allowedGlobals systematischer Sync:
Betroffene Dateien
src/js/dynamic-scripts.tssrc/runtime-isolation.tssrc/js/script-loader.tssrc/network/fetch.tssrc/fakes/maps-apis.tsAkzeptanzkriterien
webpackChunk_*wird in realem Array gespeichert, Chunks executed__webpack_require__existiert und lädt Modulewindow.caches.open()→ Promiseelement.animate()→ Animation (sofort finished)fetch("/relative")→ resolved gegenlocation.hrefUnexpected token '<'Errors mehr im Log