diff --git a/packages/app/src/Pages/ErrorPage.tsx b/packages/app/src/Pages/ErrorPage.tsx index c2d1c70f..d11d2c74 100644 --- a/packages/app/src/Pages/ErrorPage.tsx +++ b/packages/app/src/Pages/ErrorPage.tsx @@ -10,7 +10,7 @@ const ErrorPage = () => { return (
diff --git a/packages/app/src/index.tsx b/packages/app/src/index.tsx index fe17c6d9..749f032a 100644 --- a/packages/app/src/index.tsx +++ b/packages/app/src/index.tsx @@ -21,7 +21,7 @@ import { encodeTLVEntries, socialGraphInstance, } from "@snort/system"; -import PowWorkerURL from '@snort/system/dist/pow-worker.js?worker&url'; +import PowWorkerURL from '@snort/system/src/pow-worker.ts?worker&url'; import { SnortContext } from "@snort/system-react"; import { removeUndefined, throwIfOffline } from "@snort/shared"; diff --git a/packages/app/src/serviceWorkerRegistration.ts b/packages/app/src/serviceWorkerRegistration.ts index 3f4ef706..9364b51d 100644 --- a/packages/app/src/serviceWorkerRegistration.ts +++ b/packages/app/src/serviceWorkerRegistration.ts @@ -1,36 +1,40 @@ +// Import the service worker with Vite's special syntax +import ServiceWorkerURL from "./service-worker?worker&url"; + export function register() { - if ("serviceWorker" in navigator) { - window.addEventListener("load", () => { - registerValidSW("/service-worker.js"); + if ('serviceWorker' in navigator) { + window.addEventListener('load', () => { + registerValidSW(ServiceWorkerURL); }); } } async function registerValidSW(swUrl: string) { try { - const registration = await navigator.serviceWorker.register(swUrl); + const registration = await navigator.serviceWorker.register(swUrl, + { type: 'module' }); registration.onupdatefound = () => { const installingWorker = registration.installing; if (installingWorker == null) { return; } installingWorker.onstatechange = () => { - if (installingWorker.state === "installed") { + if (installingWorker.state === 'installed') { if (navigator.serviceWorker.controller) { - console.log("Service worker updated, pending reload"); + console.log('Service worker updated, pending reload'); } else { - console.log("Content is cached for offline use."); + console.log('Content is cached for offline use.'); } } }; }; } catch (e) { - console.error("Error during service worker registration:", e); + console.error('Error during service worker registration:', e); } } export async function unregister() { - if ("serviceWorker" in navigator) { + if ('serviceWorker' in navigator) { const registration = await navigator.serviceWorker.ready; await registration.unregister(); } diff --git a/packages/system/src/pow.ts b/packages/system/src/pow.ts index 543ed3ce..36acf5da 100644 --- a/packages/system/src/pow.ts +++ b/packages/system/src/pow.ts @@ -16,9 +16,10 @@ export class PowWorker implements PowMiner { #worker: Worker; #queue: Map= new Map(); - constructor(script: string) { - this.#worker = new Worker(script, { - name: "POW", + constructor(workerPath: string) { + this.#worker = new Worker(new URL(workerPath, import.meta.url), { + type: 'module', + name: 'POW', }); this.#worker.onerror = ev => { console.error(ev);