diff --git a/src/workers/journal.worker.ts b/src/workers/journal.worker.ts index d88787d..0b4a875 100644 --- a/src/workers/journal.worker.ts +++ b/src/workers/journal.worker.ts @@ -520,4 +520,9 @@ const api = { export type JournalWorkerAPI = typeof api; -Comlink.expose(api); +// SharedWorkers communicate via MessagePort from the 'connect' event, +// not via self.onmessage. Each connecting tab gets its own port. +(self as unknown as { onconnect: ((e: MessageEvent) => void) | null }).onconnect = (e: MessageEvent) => { + const port = e.ports[0]; + Comlink.expose(api, port); +};