René's URL Explorer Experiment


Title: Tracking Issue: QUIC testing · Issue #60122 · nodejs/node · GitHub

Open Graph Title: Tracking Issue: QUIC testing · Issue #60122 · nodejs/node

X Title: Tracking Issue: QUIC testing · Issue #60122 · nodejs/node

Description: QUIC Testing Check-list.. set up as a tracking issue so that folks can follow along / help if they want. This should also give folks a good idea of the size of the work required still to finish. When discussing any particular item, pleas...

Open Graph Description: QUIC Testing Check-list.. set up as a tracking issue so that folks can follow along / help if they want. This should also give folks a good idea of the size of the work required still to finish. Wh...

X Description: QUIC Testing Check-list.. set up as a tracking issue so that folks can follow along / help if they want. This should also give folks a good idea of the size of the work required still to finish. Wh...

Opengraph URL: https://github.com/nodejs/node/issues/60122

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Tracking Issue: QUIC testing","articleBody":"QUIC Testing Check-list.. set up as a tracking issue so that folks can follow along / help if they want. This should also give folks a good idea of the size of the work required still to finish.\n\nWhen discussing any particular item, please refer to the number for easier reference.\n \n* 1.0.0 Core Protocol Implementation\n  * 1.1.0 Endpoint Testing\n    * [x] 1.1.1 Endpoint creation with various configurations\n    * [x] 1.1.2 IPv4 binding\n    * [x] 1.1.3 IPv6 binding\n    * [x] 1.1.4 IPv6-only mode\n      * [ ] TODO: The ergonomics of configuring for ipv6 are... not great. Need to revisit this part of the JS API. \n    * [x] 1.1.5 Dual-stack mode\n    * [x] 1.1.6 Random port allocation\n    * [x] 1.1.7 Specific port binding\n    * [x] 1.1.8 Port reuse scenarios\n    * [x] 1.1.9 Endpoint can be use for both client and server\n  * 1.2.0 Endpoint lifecycle\n    * [x] 1.2.1 Graceful shutdown with active sessions\n    * 1.2.2 Forced shutdown/destroy\n      * [x] 1.2.2.1 With no sessions\n      * [x] 1.2.2.2 With sessions, no streams\n      * [x] 1.2.2.3 With sessions and streams\n    * [x] 1.2.3 Cleanup of sessions on endpoint graceful close\n    * [x] 1.2.4 Async.dispose implementation\n  * 1.3.0 Endpoint options validation\n    * [x] 1.3.1 UDP receive/send buffer sizes\n    * [x] 1.3.2 UDP TTL configuration\n    * [x] 1.3.3 Token expiration settings\n    * [x] 1.3.4 Retry token expiration\n    * [x] 1.3.5 Connection limits (per-host, total)\n    * [x] 1.3.6 Stateless reset limits\n    * [x] 1.3.7 Address LRU cache sizing\n    * [x] 1.3.8 Reset token secret handling\n    * [x] 1.3.9 Token secret handling\n  * 1.4.0 Server mode\n    * [x] 1.4.1 Listen configuration\n    * [x] 1.4.2 Busy state handling\n    * [x] 1.4.3 Rejection of new connections when busy\n    * [x] 1.4.4 Multiple session handling\n    * [x] 1.4.5 Session acceptance callback\n  * 1.5.0 Client mode\n    * [x] 1.5.1 Connect to remote endpoint\n    * [x] 1.5.2 Multiple concurrent connections\n    * [x] 1.5.3 Connection to same host/port\n    * [x] 1.5.4 Endpoint reuse across connections\n  * 1.6.0 Packet handling\n    * [x] 1.6.1 Send packet queuing\n    * [x] 1.6.2 Receive packet processing\n    * [x] 1.6.3 Packet validation\n    * [x] 1.6.4 Malformed packet handling\n    * [x] 1.6.5 Version negotiation packets\n    * [x] 1.6.6 Retry packets\n    * [x] 1.6.7 Stateless reset packets\n    * [x] 1.6.8 Immediate connection close\n  * 1.7.0 Statistics collection\n    * [x] 1.7.1 Bytes sent/received\n    * [x] 1.7.2 Packets sent/received\n    * [x] 1.7.3 Session counts (client/server)\n    * [x] 1.7.4 Server busy count\n    * [x] 1.7.5 Timestamp tracking\n* 2.0.0 Session Testing\n  * 2.1.0 Session establishment\n    * [x] 2.1.1 Client-initiated session\n    * [x] 2.1.2 Server-side session acceptance\n    * [x] 2.1.3 TLS handshake completion\n    * [x] 2.1.4 Handshake timeout enforcement\n    * [x] 2.1.5 Certificate validation\n    * [x] 2.1.6 ALPN negotiation\n    * [x] 2.1.7 SNI handling\n    * [x] 2.1.8 Early data (0-RTT) support\n  * 2.2.0 Session configuration\n    * [x] 2.2.1 QUIC version selection\n    * [x] 2.2.2 Minimum version enforcement\n    * [x] 2.2.3 Transport parameters negotiation\n    * [x] 2.2.4 Congestion control algorithm\n      * [x] 2.2.4.1 Reno\n      * [x] 2.2.4.2 Cubic\n      * [x] 2.2.4.3 BBR\n    * [x] 2.2.5 Flow control windows\n    * [x] 2.2.6 Max payload size\n    * [x] 2.2.7 Unacknowledged packet threshold\n    * [x] 2.2.8 QLog enablement\n  * 2.3.0 Session lifecycle\n    * [x] 2.3.1 Normal closure\n    * [x] 2.3.2 Graceful shutdown\n    * [x] 2.3.3 Immediate destruction\n    * [x] 2.3.4 Idle timeout\n    * [x] 2.3.5 Closing period behavior\n    * [x] 2.3.6 Draining period behavior\n    * [x] 2.3.7 Async.dispose implementation\n  * 2.4.0 Connection migration\n    * [x] 2.4.1 Path validation\n    * [x] 2.4.2 Preferred address handling\n      * [x] 2.4.2.1 ignore\n      * [x] 2.4.2.2 use\n      * [x] 2.4.2.3 default\n      * [x] 2.4.2.4 advertising preferred address\n    * [x] 2.4.3 Active connection ID management\n    * [x] 2.4.4 NAT rebinding detection\n  * 2.5.0 Session tickets\n    * [x] 2.5.1 Ticket generation (server)\n    * [x] 2.5.2 Ticket storage (client)\n    * [x] 2.5.3 Session resumption with ticket\n    * [x] 2.5.4 Ticket expiration\n    * [x] 2.5.5 Application data in tickets\n  * 2.6.0 Key updates\n    * [x] 2.6.1 Initiating key update\n    * [x] 2.6.2 Responding to key update\n    * [x] 2.6.3 Key logging (for debugging)\n    * [x] 2.6.4 TLS tracing\n  * 2.7.0 Error handling\n    * [x] 2.7.1 Transport errors\n    * [x] 2.7.2 Application errors\n    * [x] 2.7.3 Version negotiation errors\n    * [x] 2.7.4 Connection failures\n    * [x] 2.7.5 TLS errors\n    * [x] 2.7.6 Certificate verification errors\n  * 2.8.0 Statistics collection\n    * [x] 2.8.1 Bytes sent/received\n    * [x] 2.8.2 Packets sent/received/lost\n    * [x] 2.8.3 Stream counts\n    * [x] 2.8.4 RTT measurements\n    * [x] 2.8.5 Handshake timing\n    * [x] 2.8.6 Congestion window tracking\n  * [x] 2.9.0 Stateless reset\n* 3.0.0 Stream Testing\n  * 3.1.0 Stream creation\n    * [x] 3.1.1 Client-initiated streams\n      * [x] 3.1.1.1 Bidirectional\n      * [x] 3.1.1.2 Unidirectional \n    * [x] 3.1.2 Server-initiated streams\n      * [x] 3.1.2.1 Bidirectional\n      * [x] 3.1.2.2 Unidirectional\n    * [x] 3.1.3 Pending stream handling\n    * [x] 3.1.4 Stream concurrency limits\n    * [x] 3.1.5 Opening streams before handshake completion\n    * [x] 3.1.6 Sending early data\n    * [x] 3.1.7 Receiving early data\n  * 3.2.0 Stream directionality\n    * [x] 3.2.1 Bidirectional: both sides can send\n    * [x] 3.2.2 Unidirectional: single sender\n    * [x] 3.2.3 Read/write state combinations\n    * [x] 3.2.4 Local vs remote initiated streams\n  * 3.3.0 Data transfer\n    * [x] 3.3.1 Sending data via outbound queue\n    * [x] 3.3.2 Receiving data via inbound queue\n    * [x] 3.3.3 In-memory data sources\n      * [x] 3.3.3.1 ArrayBuffer/SharedArrayBuffer data sources\n      * [x] 3.3.3.2 ArrayBufferView data sources\n      * [x] 3.3.3.3 Blob data sources\n      * [x] 3.3.6.4 String data sources\n    * [x] 3.3.4 Stream data sources\n      * [x] 3.3.7.1 Node.js stream data sources\n      * [x] 3.3.7.2 WHATWG stream data sources\n      * [x] 3.3.7.3 Sync/Async iterator data sources\n      * [x] 3.3.7.4 File System / FD data sources\n    * [x] 3.3.5 Zero-length writes\n    * [x] 3.3.6 Large data transfers\n      * [x] 3.3.6.1 Individual\n      * [x] 3.3.6.2 Concurrent \n    * [x] 3.3.7 Backpressure handling\n  * 3.4.0 Flow control\n    * [x] 3.4.1 Stream-level flow control\n    * [x] 3.4.2 Session-level flow control\n    * [x] 3.4.3 Window updates\n    * [x] 3.4.4 Blocked stream handling\n    * [x] 3.4.5 High watermark behavior\n  * 3.5.0 Stream closure\n    * [x] 3.5.1 Normal stream end (FIN)\n    * [x] 3.5.2 Stream reset by peer\n    * [x] 3.5.3 Stop sending requests\n    * [x] 3.5.4 Graceful vs forceful close\n    * [x] 3.5.5 Bidirectional shutdown\n    * [x] 3.5.6 Half-closed states\n  * 3.6.0 Stream priority (HTTP/3)\n    * [x] 3.6.1 Priority levels (high/default/low)\n    * [x] 3.6.2 Incremental vs non-incremental\n    * [x] 3.6.3 Priority updates\n    * [x] 3.6.4 Priority enforcement\n  * 3.7.0 Stream states\n    * [x] 3.7.1 Pending state\n    * [x] 3.7.2 Open state\n    * [x] 3.7.3 Readable/writable states\n    * [x] 3.7.4 End-of-stream detection\n    * [x] 3.7.5 Final size tracking\n  * 3.8.0 Error scenarios\n    * [x] 3.8.1 Stream errors\n    * [x] 3.8.2 Reset with error codes\n    * [x] 3.8.3 Data after FIN\n    * [x] 3.8.4 Protocol violations\n    * [x] 3.8.5 Timeouts\n    * [x] 3.8.6 Loss recovery\n  * 3.9.0 Statistics collection\n    * [x] 3.9.1 Bytes sent/received\n    * [x] 3.9.2 Acknowledgments\n    * [x] 3.9.3 Created/destroyed timestamps\n* 4.0.0 Datagram Support\n  * 4.1.0 Datagram transmission\n    * [x] 4.1.1 Send unreliable datagrams\n    * [x] 4.1.2 String data encoding\n    * [x] 4.1.3 ArrayBufferView data\n    * [x] 4.1.4 Size limits\n    * [x] 4.1.5 Datagram ID generation\n    * [x] 4.1.6 Datagram not supported\n  * 4.2.0 Datagram reception\n    * [x] 4.2.1 Receive callback\n    * [x] 4.2.2 Early datagram handling\n    * [x] 4.2.3 Out-of-order delivery\n  * 4.3.0 Datagram status\n    * [x] 4.3.1 Acknowledgment notification\n    * [x] 4.3.2 Loss notification\n    * [x] 4.3.3 Status callback\n* 5.0.0 Transport Parameters Testing\n  * 5.1.0 Local transport params\n    * [x] 5.1.1 Initial max stream data (bidi local/remote, uni)\n    * [x] 5.1.2 Initial max data\n    * [x] 5.1.3 Initial max streams (bidi/uni)\n    * [x] 5.1.4 Max idle timeout\n    * [x] 5.1.5 Active connection ID limit\n    * [x] 5.1.6 ACK delay exponent\n    * [x] 5.1.7 Max ACK delay\n    * [x] 5.1.8 Max datagram frame size\n    * [x] 5.1.9 Preferred address (IPv4/IPv6)\n    * [x] 5.1.10 Disable active migration\n    * [x] 5.1.11 Max UDP payload size\n  * 5.2.0 Remote transport params\n    * [x] 5.2.1 Parsing received params\n    * [x] 5.2.2 Validation of received params\n    * [x] 5.2.3 Incompatible parameters\n    * [x] 5.2.4 Parameter negotiation\n    * [x] 5.2.5 Client-server agreement\n    * [x] 5.2.6 Minimum value selection\n    * [x] 5.2.7 Default value fallbacks\n* 6.0.0 TLS Integration Testing\n  * 6.1.0 Certificate handling\n    * [x] 6.1.1 Single certificate\n    * [x] 6.1.2 Multiple certificates\n    * [x] 6.1.3 Certificate chains\n    * [x] 6.1.4 Certificate validation\n    * [x] 6.1.5 Self-signed certificates\n    * [x] 6.1.6 Expired certificates\n    * [x] 6.1.7 Revoked certificates (CRL)\n  * 6.2.0 Key management\n    * [x] 6.2.1 KeyObject support\n    * [x] 6.2.2 CryptoKey support\n    * [x] 6.2.3 Multiple keys\n    * [x] 6.2.4 Private key verification\n    * [x] 6.2.5 Key type validation\n  * 6.3.0 CA and trust\n    * [x] 6.3.1 Custom CA certificates\n    * [x] 6.3.2 CA chain validation\n    * [x] 6.3.3 Client certificate verification\n  * 6.4.0 Cipher configuration\n    * [x] 6.4.1 Default ciphers\n    * [x] 6.4.2 Custom cipher strings\n    * [x] 6.4.3 Cipher suite selection\n    * [x] 6.4.4 Groups/curves configuration\n  * 6.5.0 Session resumption\n    * [x] 6.5.1 Session ticket generation\n    * [x] 6.5.2 Session ticket reuse\n    * [x] 6.5.3 0-RTT data with resumption\n    * [x] 6.5.4 Ticket rotation\n  * 6.6.0 ALPN\n    * [x] 6.6.1 Protocol negotiation\n    * [x] 6.6.2 Multiple protocols\n    * [x] 6.6.3 No common protocol handling\n  * 6.7.0 SNI\n    * [x] 6.7.1 Server name indication\n    * [x] 6.7.2 SNI-based routing\n    * [x] 6.7.3 Virtual hosting\n  * 6.8.0 Tokens\n    * [x] 6.8.1 Retry token validity / timeouts\n      * [x] TODO: Works for ipv4, appears to have issues with some ipv6 paths \n    * [x] 6.8.2 Regular token validity /timeouts\n    * [x] 6.8.3 Stateless reset token validity / timeouts \n* 7.0.0 HTTP/3 Application Layer Testing\n  * 7.1.0 HTTP/3 basics\n    * [x] 7.1.1 Request/response flow\n    * [x] 7.1.2 Stream creation for requests\n    * [x] 7.1.3 Multiple concurrent requests\n  * 7.2.0 Headers\n    * [x] 7.2.1 Header encoding/decoding\n    * [x] 7.2.2 QPACK compression\n    * [x] 7.2.3 Header limits (pairs, length, field section size)\n    * [x] 7.2.4 Pseudo-headers (:method, :path, :authority, :scheme)\n    * [x] 7.2.5 Early headers / early-hints / 1xx\n    * [x] 7.2.6 Regular headers\n    * [x] 7.2.7 Trailing headers\n    * [x] 7.2.8 Header ordering\n    * [x] 7.2.9 Duplicate headers\n  * 7.3.0 QPACK\n    * [x] 7.3.1 Dynamic table management\n    * [x] 7.3.2 Encoder/decoder streams\n    * [x] 7.3.3 Table capacity limits\n    * [x] 7.3.4 Blocked streams handling\n  * 7.4.0 HTTP/3 settings\n    * [x] 7.4.1 SETTINGS frame exchange\n    * [x] 7.4.2 Max header list size\n    * [x] 7.4.3 QPACK settings\n    * [x] 7.4.4 Extended CONNECT protocol\n  * 7.5.0 Control streams\n    * [x] 7.5.1 Bidirectional control stream\n    * [x] 7.5.2 Unidirectional control streams\n    * [x] 7.5.3 Stream type identification\n  * 7.6.0 Priority (extensible priorities)\n    * [x] 7.6.1 PRIORITY_UPDATE frames\n    * [x] 7.6.2 Urgency parameter\n    * [x] 7.6.3 Incremental parameter\n* 8.0.0 Error Handling and Edge Cases\n  * 8.1.0 Protocol errors\n    * [x] 8.1.1 Invalid frames\n    * [x] 8.1.2 Stream ID violations\n    * [x] 8.1.3 Flow control violations\n    * [x] 8.1.4 Connection ID errors\n    * [x] 8.1.5 Token validation failures\n  * 8.2.0 Resource exhaustion\n    * [x] 8.2.1 Maximum streams exceeded\n    * [x] 8.2.2 Memory pressure\n    * [x] 8.2.3 Connection limits\n    * [x] 8.2.4 Packet queue overflow\n  * 8.3.0 Network conditions\n    * [x] 8.3.1 Packet loss simulation\n    * [x] 8.3.2 Packet reordering\n    * [x] 8.3.3 Delayed ACKs\n    * [x] 8.3.4 Path MTU discovery\n    * [x] 8.3.5 ECN marking\n  * 8.4.0 Timeout scenarios\n    * [x] 8.4.1 Handshake timeout\n    * [x] 8.4.2 Idle timeout\n    * [x] 8.4.3 Drain timeout\n    * [x] 8.4.4 Keep-alive\n  * 8.5.0 Malicious input\n    * [x] 8.5.1 Oversized packets\n    * [x] 8.5.2 Invalid QUIC versions\n    * [x] 8.5.3 Replay attacks\n    * [x] 8.5.4 Connection ID spoofing\n    * [x] 8.5.5 Amplification attack prevention\n* 9.0.0 Interoperability Testing\n  * 9.1.0 QUIC version compatibility\n    * [x] 9.1.1 v1 (RFC 9000)\n    * [x] 9.1.2 Version negotiation\n    * [x] 9.1.3 Draft version support (if any)\n  * 9.2.0 Cross-implementation testing\n    * 9.2.1 Against other QUIC implementations\n      * [ ] 9.2.1.1 quiche\n      * [ ] 9.2.1.2 msquic\n      * [ ] 9.2.1.3 picoquic\n    * [ ] 9.2.2 Public QUIC endpoints\n    * [ ] 9.2.3 QUIC interop runner participation\n  * 9.3.0 HTTP/3 compatibility\n    * [ ] 9.3.1 Against other HTTP/3 servers/clients\n    * [ ] 9.3.2 Public HTTP/3 endpoints\n    * [ ] 9.3.3 Browser compatibility\n* 10.0.0 Performance Testing\n  * 10.1.0 Throughput\n    * [ ] 10.1.1 Single stream throughput\n    * [ ] 10.1.2 Multiple stream throughput\n    * [ ] 10.1.3 Bidirectional throughput\n    * [ ] 10.1.4 Large file transfers\n    * [ ] 10.1.5 Small message latency\n * 10.2.0 Scalability\n    * [ ] 10.2.1 Many concurrent sessions\n    * [ ] 10.2.2 Many concurrent streams per session\n    * [ ] 10.2.3 Connection establishment rate\n    * [ ] 10.2.4 Memory usage under load\n  * 10.3.0 Congestion control\n    * [ ] 10.3.1 Algorithm comparison (Reno vs Cubic vs BBR)\n    * [ ] 10.3.2 Recovery from loss\n    * [ ] 10.3.3 Bandwidth utilization\n    * [ ] 10.3.4 Fairness\n * 10.4.0 0-RTT performance\n    * [ ] 10.4.1 Resumption latency reduction\n    * [ ] 10.4.2 Early data volume\n * 10.5.0 [ ] Benchmarks\n* 11.0.0 API Testing\n  * 11.1.0 JavaScript API surface\n    * [x] 11.1.1 quic.connect() function\n    * [x] 11.1.2 quic.listen() function\n    * [x] 11.1.3 QuicEndpoint class\n    * [x] 11.1.4 QuicSession class\n    * [x] 11.1.5 QuicStream class\n    * [x] 11.1.6 Constants export\n  * 11.2.0 Options validation\n    * [x] 11.2.1 Type checking\n    * [x] 11.2.2 Range validation\n    * [x] 11.2.3 Required vs optional\n    * [x] 11.2.4 Default values\n    * [x] 11.2.5 Invalid combinations\n  * 11.3.0 Event handling\n    * [x] 11.3.1 Diagnostics channels\n    * [x] 11.3.2 Callback invocations\n    * [x] 11.3.3 Event ordering\n    * [x] 11.3.4 Error propagation\n* 12.0.0 Integration Testing\n  * [x] 12.1.0 Simple echo server\n  * [ ] 12.2.0 File transfer\n  * [ ] 12.3.0 Streaming media\n  * [ ] 12.4.0 WebTransport-like usage\n* 13.0.0 Debugging and Observability\n  * 13.1.0 QLog output\n    * [x] 13.1.1 Event logging\n    * [x] 13.1.2 Format compliance\n    * [ ] 13.1.3 Visualization compatibility\n  * 13.2.0 Key logging\n    * [x] 13.2.1 SSLKEYLOGFILE format\n    * [x] 13.2.2 Wireshark integration\n  * 13.3.0 Statistics\n    * [x] 13.3.1 Endpoint stats accuracy\n    * [x] 13.3.2 Session stats accuracy\n    * [x] 13.3.3 Stream stats accuracy\n    * [x] 13.3.4 Timestamp consistency\n  * 13.4.0 Diagnostics channels\n    * [x] 13.4.1 All events emitted correctly\n    * [x] 13.4.2 Event payload validation\n    * [ ] 13.4.3 Performance overhead\n* 14.0.0 Network environments\n  * [x] 14.1.0 IPv4 only\n  * [x] 14.2.0 IPv6 only\n  * [x] 14.3.0 Dual stack\n  * [x] 14.4.0 NAT traversal\n  * [x] 14.5.0 Firewalls\n* 15.0.0 Compliance Testing\n  * 15.1.0 RFC 9000 (QUIC v1)\n    * [x] 15.1.1 All MUST requirements\n    * [x] 15.1.2 All SHOULD requirements\n    * [ ] 15.1.3 Recommended behaviors\n  * 15.2.0 RFC 9001 (QUIC TLS)\n    * [ ] 15.2.1 TLS 1.3 integration\n    * [ ] 15.2.2 Key derivation\n    * [ ] 15.2.3 Handshake messages\n  * 15.3.0 RFC 9002 (Loss Detection and Congestion Control)\n    * [ ] 15.3.1 Loss detection algorithms\n    * [ ] 15.3.2 Congestion control requirements\n    * [ ] 15.3.3 Pacing\n  * 15.4.0 RFC 9114 (HTTP/3)\n    * [ ] 15.4.1 Frame types\n    * [ ] 15.4.2 Stream mapping\n    * [ ] 15.4.3 Error codes\n  * 15.5.0 RFC 9204 (QPACK)\n    * [ ] 15.5.1 Encoding/decoding\n    * [ ] 15.5.2 Dynamic table\n    * [ ] 15.5.3 Stream blocking\n  * 15.6.0 RFC 9221 (Unreliable Datagrams)\n    * [ ] 15.6.1 Datagram frames\n    * [ ] 15.6.2 Flow control exemption\n* 16.0.0 Fuzzing and Security\n  * [ ] 16.1.0 Packet fuzzing\n  * [ ] 16.2.0 Frame fuzzing\n  * [ ] 16.3.0 Input validation fuzzing\n  * 16.4.0 Security scenarios\n    * [ ] 16.4.1 Amplification attack resistance\n    * [ ] 16.4.2 DoS resistance / Packet flooding\n    * [ ] 16.4.3 Resource limits enforcement\n    * [ ] 16.4.4 Timing attack resistance\n    * [ ] 16.4.5 Slow-loris-type attacks (slow transmission, slow acks)\n* 17.0.0 Documentation Testing\n  * 17.1.0 Example code validity\n    * [ ] 17.1.1 All examples run successfully\n    * [ ] 17.1.2 Examples follow best practices\n  * [ ] 17.2.0 API documentation accuracy\n  * [ ] 17.3.0 All public APIs documented\n  * [ ] 17.4.0 Parameter types correct\n  * [ ] 17.5.0 Return types correct\n  * [ ] 17.6.0 Error conditions documented\n","author":{"url":"https://github.com/jasnell","@type":"Person","name":"jasnell"},"datePublished":"2025-10-04T21:56:10.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/60122/node/issues/60122"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:2bfd4dd5-ebe9-29a2-2458-5441cf604fc5
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id8EC8:6B261:1DAE841:2AC0A9C:6A4CE39A
html-safe-nonce4b08ccdc13d0750ef3b71e3ce5e08b6f4ae5b23babb65a58d685a7fa92ac7c3b
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4RUM4OjZCMjYxOjFEQUU4NDE6MkFDMEE5Qzo2QTRDRTM5QSIsInZpc2l0b3JfaWQiOiI3NjA5NTQ5NDg4ODk0MzA1MTc4IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac7e4a0c4e4d239a17ebdd80e20a274a67932206e090a165111e1080649ade556f
hovercard-subject-tagissue:3484166265
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/nodejs/node/60122/issue_layout
twitter:imagehttps://opengraph.githubassets.com/0b67c8fe4646f05633aebe4c0b212028cb6a63fabcba304aca8d7fc3cd1c105d/nodejs/node/issues/60122
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/0b67c8fe4646f05633aebe4c0b212028cb6a63fabcba304aca8d7fc3cd1c105d/nodejs/node/issues/60122
og:image:altQUIC Testing Check-list.. set up as a tracking issue so that folks can follow along / help if they want. This should also give folks a good idea of the size of the work required still to finish. Wh...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamejasnell
hostnamegithub.com
expected-hostnamegithub.com
None299b43bca6e02ad35197ffeba30d2466846d5fb02ab96fbced5b5e6cec589fb8
turbo-cache-controlno-preview
go-importgithub.com/nodejs/node git https://github.com/nodejs/node.git
octolytics-dimension-user_id9950313
octolytics-dimension-user_loginnodejs
octolytics-dimension-repository_id27193779
octolytics-dimension-repository_nwonodejs/node
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id27193779
octolytics-dimension-repository_network_root_nwonodejs/node
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasec5a57f04eeb310f57c73fd6d751d957e2ca27ed2
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/nodejs/node/issues/60122#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fissues%2F60122
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fissues%2F60122
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=nodejs%2Fnode
Reloadhttps://github.com/nodejs/node/issues/60122
Reloadhttps://github.com/nodejs/node/issues/60122
Reloadhttps://github.com/nodejs/node/issues/60122
Please reload this pagehttps://github.com/nodejs/node/issues/60122
nodejs https://github.com/nodejs
nodehttps://github.com/nodejs/node
Please reload this pagehttps://github.com/nodejs/node/issues/60122
Notifications https://github.com/login?return_to=%2Fnodejs%2Fnode
Fork 36k https://github.com/login?return_to=%2Fnodejs%2Fnode
Star 118k https://github.com/login?return_to=%2Fnodejs%2Fnode
Code https://github.com/nodejs/node
Issues 1.4k https://github.com/nodejs/node/issues
Pull requests 961 https://github.com/nodejs/node/pulls
Actions https://github.com/nodejs/node/actions
Projects https://github.com/nodejs/node/projects
Security and quality 0 https://github.com/nodejs/node/security
Insights https://github.com/nodejs/node/pulse
Code https://github.com/nodejs/node
Issues https://github.com/nodejs/node/issues
Pull requests https://github.com/nodejs/node/pulls
Actions https://github.com/nodejs/node/actions
Projects https://github.com/nodejs/node/projects
Security and quality https://github.com/nodejs/node/security
Insights https://github.com/nodejs/node/pulse
Tracking Issue: QUIC testinghttps://github.com/nodejs/node/issues/60122#top
quicIssues and PRs related to the QUIC implementation / HTTP/3.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22quic%22
https://github.com/jasnell
jasnellhttps://github.com/jasnell
on Oct 4, 2025https://github.com/nodejs/node/issues/60122#issue-3484166265
quicIssues and PRs related to the QUIC implementation / HTTP/3.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22quic%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.