Umbrella: #66 Follow-up to completed fetch-client activation #183.
The web fetch() HTTP/2 client, adversarial, and lifetime cluster is fully active (82/82). This issue tracked the distinct Node node:http2 wire/API compatibility layer.
Completed implementation
- Keep upstream
js/node/http2/node-http2.test.jsbyte-identical to~/Code/bun - Activate
js/node/http2/h2-conformance.test.tswithout TODO/skip narrowing - Implement HTTP/2 framing, SETTINGS, PING, WINDOW_UPDATE, GOAWAY, RST, CONTINUATION, push-state, and protocol validation
- Bridge event-style and raw TCP clients to the in-memory HTTP/2 server
- Implement server/session/stream lifecycle, graceful close/destroy, trailers, push streams, file responses, settings packing, authority URL forms, and secure-server distinctions
- Implement Node-compatible typed validation and error codes for malformed sessions, streams, options, headers, and raw frames
- Harden native parsing against oversized header names and re-entrant ArrayBuffer detachment/transfer
- Complete every active assertion in the untouched compatibility file
- Add authoritative activation and native safety regressions
- Pass the full isolated
home_testgate
Landed commits
1581249d6—feat: activate node http2 conformance2d9b66c93—feat: advance node http2 compatibility9bc4d791b—feat: finish node http2 corpus compatibility
Final verified result
js/node/http2/node-http2.test.js: 287 passed / 0 failed / 0 unsupported, with 6 upstream-authored TODO cases preservedjs/node/http2/h2-conformance.test.ts: 23 passed / 0 failed / 0 unsupported / 0 TODOregression/issue/29073.test.ts: 6 passed / 0 failed / 0 unsupported / 0 TODO- adjacent HTTP/2 fetch: 60/60 client, 15/15 adversarial, 7/7 lifetime
- full isolated
home_testgate: exit 0, 1559.21s, maximum RSS 7,265,271,808 bytes - upstream
node-http2.test.jsSHA-256 remains2f92a4f180ead6c2194a1dc7c9abd295dc85f45359a3ae8d131ad3178a98c18a
The six TODO results are authored in Bun's pinned upstream test itself; Home adds no TODO/skip narrowing. The active Node HTTP/2 corpus target is complete, so this focused issue is closed. Further Bun-parity work continues in #66.