diff --git a/src/lotus/lotusDenoise.ts b/src/lotus/lotusDenoise.ts index f48aeef7..e4702390 100644 --- a/src/lotus/lotusDenoise.ts +++ b/src/lotus/lotusDenoise.ts @@ -56,7 +56,13 @@ function safeAssetBase(raw: string | null): string { } export function startLotusDenoise(vm: CallViewModel): () => void { - if (lotusParam("lotusDenoise") !== "ml") return () => undefined; + // Gate on a DEDICATED flag — NOT the existing `lotusDenoise=ml` that the + // host's build-time getUserMedia shim already uses. Otherwise simply shipping + // this fork (while the host still injects its shim and still sets + // lotusDenoise=ml) would denoise twice. The host opts into the in-source + // engine with `lotusDenoiseSource=1` AND stops injecting the shim at the same + // time. Default off ⇒ the fork is inert and behaviour is unchanged. + if (!lotusFlag("lotusDenoiseSource")) return () => undefined; const requested = lotusParam("lotusModel"); const model: LotusDenoiseConfig["model"] =