ReviewOS

home-lang/home

Complete MessageChannel and MessagePort pipe conformance

#411
Closed chris opened this 10 days ago ·
10 days ago

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.

10 days ago

Completed on main in bdd7a36. Exact range verification: 37 pass, 3 intended debug/ASAN todos, 0 fail, 0 unsupported. Parent progress continues in #66.

Sign in to comment on this issue.