diff --git a/src/KonvaApp/SharedWorkers/Diffusion/DiffusionSharedWorkerClient.ts b/src/KonvaApp/SharedWorkers/Diffusion/DiffusionSharedWorkerClient.ts index 9ec489a361..4084d43878 100644 --- a/src/KonvaApp/SharedWorkers/Diffusion/DiffusionSharedWorkerClient.ts +++ b/src/KonvaApp/SharedWorkers/Diffusion/DiffusionSharedWorkerClient.ts @@ -3,7 +3,7 @@ import { SharedWorkerResponse, } from "~/KonvaApp/WorkerPrimitives/SharedWorkerBase"; import { ResponseType } from "~/KonvaApp/WorkerPrimitives/SharedWorkerBase"; - +import diffusionWorkerURL from "~/KonvaApp/SharedWorkers/Diffusion/DiffusionSharedWorker.ts?worker&url"; export class DiffusionSharedWorkerClient< DiffusionSharedWorkerItemData, DiffusionSharedWorkerResponseData, @@ -32,12 +32,13 @@ export class DiffusionSharedWorkerClient< type: "module", }); } else { - this.sharedWorker = new SharedWorker( - new URL(workerPath, import.meta.url), - { - type: "module", - }, - ); + // in production this is a work around .. https://github.com/vitejs/vite/issues/13680 + const js = `import ${JSON.stringify(new URL(diffusionWorkerURL, import.meta.url))}`; + const blob = new Blob([js], { type: "application/javascript" }); + const objURL = URL.createObjectURL(blob); + this.sharedWorker = new SharedWorker(new URL(objURL, import.meta.url), { + type: "module", + }); } this.port = this.sharedWorker.port; this.port.onmessage = this.onMessage.bind(this);