From c540450b66bf51312d05956317d2a72571ce962f Mon Sep 17 00:00:00 2001 From: Toshit Chawda Date: Sun, 7 Jul 2024 16:59:51 -0700 Subject: [PATCH] create new worker when passing it to sw --- src/connection.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/connection.ts b/src/connection.ts index f153d94..b007d22 100644 --- a/src/connection.ts +++ b/src/connection.ts @@ -49,13 +49,15 @@ type BroadcastMessage = { function createPort(path: string, channel: BroadcastChannel): MessagePort { const worker = new SharedWorker(path, "bare-mux-worker"); // uv removes navigator.serviceWorker so this errors - if (navigator.serviceWorker) + if (navigator.serviceWorker) { navigator.serviceWorker.addEventListener("message", event => { if (event.data.type === "getPort" && event.data.port) { console.debug("bare-mux: recieved request for port from sw"); + const worker = new SharedWorker(path, "bare-mux-worker"); event.data.port.postMessage(worker.port, [worker.port]); } }); + } channel.onmessage = (event: MessageEvent) => { if (event.data.type === "getPath") { console.debug("bare-mux: recieved request for worker path from broadcast channel");