Tracks the completed Worker messaging tranche under #66.
Covered upstream Bun corpus positions 4223–4227:
- js/web/workers/message-channel.test.ts — 12 pass
- js/web/workers/message-event.test.ts — 10 pass
- js/web/workers/message-port-closed-leak.test.ts — 4 pass
- js/web/workers/message-port-context-destroy-leak.test.ts — 1 pass
- js/web/workers/message-port-pipe.test.ts — 10 pass, 3 intended debug/ASAN todos
Implemented and verified:
- transactional MessagePort transfer validation and MessageEvent.ports metadata
- one-message-per-task MessagePort and Worker schedulers with microtask checkpoints
- FIFO buffering across start, handler attachment, same-context reattachment, chained transfers, and pre-online Worker delivery
- iterative closed-port transfer draining and dropped-in-transit lifecycle cleanup
- active subprocess lifecycle probes for close/GC/finalization paths
- structured ERR_MESSAGE_PORT_PIPE failures with operation, phase, cause, source-aware stack, test name, and recent message trace
- reusable HOME_BUN_TEST_FILTER diagnostics for isolating named corpus cases
Commits:
Verification: positions 4223–4227 total 37 pass, 3 todo, 0 fail, 0 unsupported. The exact permanent MessagePort pipe regression also passes.