You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
node:worker_threads: implement MessageChannel ports and receiveMessageOnPort #3157
node:worker_threads should export connected MessageChannel / MessagePort objects plus receiveMessageOnPort. Perry currently has only a generic postMessage manifest entry and no module-level port/channel object implementation.
Node Behavior
On Node v25.9.0, new MessageChannel() returns object-valued port1 and port2. Ports expose function-valued postMessage, close, start, ref, unref, and hasRef. Posting on port1 can be consumed synchronously with receiveMessageOnPort(port2), which returns an object shaped like { message: value }; event listeners on port2 also receive later messages, and closing ports emits a close event.
Perry Behavior
docs/runtime-parity-gaps.md lists receiveMessageOnPort, new MessageChannel, channel.port1, channel.port2, and most MessagePort methods/events as missing. test-files/test_parity_worker_threads.ts only shape-probes the channel and port methods. crates/perry-api-manifest/src/entries.rs has a generic worker_threads.postMessage receiver but no MessageChannel, MessagePort, or receiveMessageOnPort entries; crates/perry-stdlib/src/worker_threads.rs only models a synthetic parentPort handle.
Suggested PR Cut
Batch this with related issues in: #3307 - node:worker_threads: message channels and clone markers parity cut
Activity
fix(node:worker_threads): MessageChannel ports + transfer/clone marke…
fix(hir): route global new MessageChannel()/BroadcastChannel() to alw…