diff --git a/src/livekit/NoiseGateTransformer.ts b/src/livekit/NoiseGateTransformer.ts index 9d292e44..b04019d6 100644 --- a/src/livekit/NoiseGateTransformer.ts +++ b/src/livekit/NoiseGateTransformer.ts @@ -7,6 +7,9 @@ Please see LICENSE in the repository root for full details. import { type Track } from "livekit-client"; import { logger } from "matrix-js-sdk/lib/logger"; +// ?worker&url tells Vite to compile the TypeScript worklet and return its URL. +// Without this, Vite copies the .ts file verbatim and the browser rejects it. +import compiledWorkletUrl from "./NoiseGateProcessor.worklet.ts?worker&url"; const log = logger.getChild("[NoiseGateTransformer]"); @@ -106,12 +109,8 @@ export class NoiseGateTransformer implements AudioTrackProcessor { log.warn("TEN-VAD WASM module unavailable — VAD disabled:", e); } - const workletUrl = new URL( - "./NoiseGateProcessor.worklet.ts", - import.meta.url, - ); - log.info("loading worklet from:", workletUrl.href); - await audioContext.audioWorklet.addModule(workletUrl); + log.info("loading worklet from:", compiledWorkletUrl); + await audioContext.audioWorklet.addModule(compiledWorkletUrl); log.info("worklet module loaded"); this.workletNode = new AudioWorkletNode(