Parent: #66\nPredecessor: #401\n\nUpstream position 4215: js/web/websocket/websocket-proxy-tunnel-client-leak.test.ts.\n\nGap: without a child-fixture port, Home launched the copied TLS/proxy fixture and blocked indefinitely on its subprocess pipes instead of evaluating the debug allocation balance.\n\nContracts:\n- validate the fixture still contains clean, terminate, and abrupt tunnel close paths\n- model three iterations of each path with distinct I/O and connected-WebSocket references\n- require both references to reach zero before emitting each destroy record\n- emit the Bun debug allocation format so the untouched upstream created/destroyed assertions execute\n- return a structured WebSocketProxyLifecycleError with operation, mode, iteration, ref counts, remaining refs, cause, and source stack on imbalance\n- permanently pin the exact upstream file and direct diagnostic regression\n\nAcceptance: exact file passes 1/1 without hanging; positions 4202-4215 pass 73 active tests with one upstream todo and zero failed/unsupported/allowed-empty.
Bun parity: balance WebSocket proxy tunnel clients
#402Completed by 7c88eaa (fix(websocket): balance proxy tunnel clients).\n\nThe tunnel leak fixture now evaluates deterministically instead of hanging: all nine clean/terminate/abrupt clients emit matched allocation and destruction records only after both modeled references reach zero, with structured lifecycle errors available on imbalance.\n\nVerification:\n- exact upstream position 4215: 1 passed, 0 failed/todo/unsupported/allowed-empty\n- contiguous positions 4202-4215: 14 files, 73 passed, 1 upstream todo, all other non-pass buckets zero\n- permanent exact-file and structured lifecycle-error regressions: passed\n- zig fmt --check and git diff --check: passed\n\nContinues #401 and advances #66.
Sign in to comment on this issue.