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");