···4455import type { Track } from "@applets/core/types";
6677-export { SharedWorkerPolyfill as SharedWorker } from "@okikio/sharedworker";
77+// export { SharedWorkerPolyfill as SharedWorker } from "@okikio/sharedworker";
88+export const SharedWorker = globalThis.SharedWorker;
89910export function arrayShuffle<T>(array: Array<T>): Array<T> {
1011 if (array.length === 0) {
···47484849export function endpoint<T extends Record<string, any>>(port: MessagePort) {
4950 const e = createEndpoint<T>(port);
5050- port.start();
5151+ if ("start" in port) port.start();
5252+ else
5353+ console.warn("Missing `start` function in port, probably using a regular worker:", port as any);
5154 return e;
5255}
5356
+4-3
src/scripts/processor/artwork/worker.ts
···3344import type { Actions as MetadataActions } from "../metadata/worker";
55import type { Artwork, ArtworkRequest } from "./types";
66-import { SharedWorker, endpoint, expose } from "@scripts/common";
66+import { expose } from "@scripts/common";
77import { IDB_ARTWORK_PREFIX } from "./constants";
88+import { createEndpoint } from "@remote-ui/rpc";
89910// State
1011let queue: ArtworkRequest[] = [];
11121213// Metadata worker
1313-const metadataWorker = endpoint<MetadataActions>(
1414- new SharedWorker(new URL("../metadata/worker", import.meta.url), { type: "module" }).port,
1414+const metadataWorker = createEndpoint<MetadataActions>(
1515+ new Worker(new URL("../metadata/worker", import.meta.url), { type: "module" }),
1516);
16171718////////////////////////////////////////////