From 239480e1f36ab7cf66f54c09f6d294407b607a94 Mon Sep 17 00:00:00 2001 From: fkwp Date: Thu, 26 Mar 2026 15:51:46 +0100 Subject: [PATCH] prettier --- scripts/setup-noise-suppression-assets.js | 8 +- src/livekit/audioTrackNoiseSuppressionSync.ts | 13 +++- src/livekit/useNoiseSuppressionTransformer.ts | 78 ++++++++++--------- .../CallViewModel/localMember/Publisher.ts | 5 +- vite.config.ts | 3 +- 5 files changed, 63 insertions(+), 44 deletions(-) diff --git a/scripts/setup-noise-suppression-assets.js b/scripts/setup-noise-suppression-assets.js index 241fbde2..b4f29642 100644 --- a/scripts/setup-noise-suppression-assets.js +++ b/scripts/setup-noise-suppression-assets.js @@ -79,7 +79,9 @@ function downloadFile(fileUrl, filePath, isOptional = false) { ) { const redirectUrl = response.headers.location; console.log(` Redirected to: ${redirectUrl}`); - downloadFile(redirectUrl, filePath, isOptional).then(resolve).catch(reject); + downloadFile(redirectUrl, filePath, isOptional) + .then(resolve) + .catch(reject); return; } @@ -141,7 +143,9 @@ async function main() { } console.log("\n✅ Asset setup complete!"); - console.log("\nAssets are ready for bundling. Next build will include them.\n"); + console.log( + "\nAssets are ready for bundling. Next build will include them.\n", + ); process.exit(0); } catch (error) { console.error("\n❌ Asset setup failed:", error.message); diff --git a/src/livekit/audioTrackNoiseSuppressionSync.ts b/src/livekit/audioTrackNoiseSuppressionSync.ts index 6ee9e07f..1665efdd 100644 --- a/src/livekit/audioTrackNoiseSuppressionSync.ts +++ b/src/livekit/audioTrackNoiseSuppressionSync.ts @@ -9,7 +9,10 @@ import type { LocalAudioTrack } from "livekit-client"; import { combineLatest } from "rxjs"; import { logger } from "matrix-js-sdk/lib/logger"; -import { noiseSuppressionEnabled, noiseSuppressionLevel } from "../settings/settings"; +import { + noiseSuppressionEnabled, + noiseSuppressionLevel, +} from "../settings/settings"; import { getUrlParams } from "../UrlParams"; import type { Behavior } from "../state/Behavior"; import type { ObservableScope } from "../state/ObservableScope"; @@ -78,7 +81,9 @@ export const audioTrackNoiseSuppressionSync = ( const processor = transformer.getProcessor(); if (!processor) { - logger.error("[audioTrackNoiseSuppressionSync] Processor not initialized"); + logger.error( + "[audioTrackNoiseSuppressionSync] Processor not initialized", + ); return; } @@ -103,7 +108,9 @@ export const audioTrackNoiseSuppressionSync = ( }); } else { // Track was removed - stop processor if applicable - logger.debug("[audioTrackNoiseSuppressionSync] Audio track not available"); + logger.debug( + "[audioTrackNoiseSuppressionSync] Audio track not available", + ); } } catch (error) { logger.error("[audioTrackNoiseSuppressionSync] Error:", error); diff --git a/src/livekit/useNoiseSuppressionTransformer.ts b/src/livekit/useNoiseSuppressionTransformer.ts index 9e268159..15e7fa68 100644 --- a/src/livekit/useNoiseSuppressionTransformer.ts +++ b/src/livekit/useNoiseSuppressionTransformer.ts @@ -7,7 +7,10 @@ Please see LICENSE in the repository root for full details. import { useEffect, useRef } from "react"; -import { noiseSuppressionEnabled, noiseSuppressionLevel } from "../settings/settings"; +import { + noiseSuppressionEnabled, + noiseSuppressionLevel, +} from "../settings/settings"; import { useBehavior } from "../useBehavior"; import { NoiseSuppressionTransformer } from "../livekit/NoiseSuppressionTransformer"; @@ -16,42 +19,43 @@ import { NoiseSuppressionTransformer } from "../livekit/NoiseSuppressionTransfor * Synchronizes the transformer with the noise suppression settings. * Returns the transformer instance for use in Publishers. */ -export const useNoiseSuppressionTransformer = (): NoiseSuppressionTransformer => { - const transformerRef = useRef(null); - const enabledValue = useBehavior(noiseSuppressionEnabled.value$); - const levelValue = useBehavior(noiseSuppressionLevel.value$); +export const useNoiseSuppressionTransformer = + (): NoiseSuppressionTransformer => { + const transformerRef = useRef(null); + const enabledValue = useBehavior(noiseSuppressionEnabled.value$); + const levelValue = useBehavior(noiseSuppressionLevel.value$); - // Initialize transformer on first mount - useEffect(() => { - if (!transformerRef.current) { - transformerRef.current = new NoiseSuppressionTransformer(); - // Initialize with current settings - void transformerRef.current.initialize(levelValue, enabledValue); - } - }, []); - - // Sync enabled state when setting changes - useEffect(() => { - if (transformerRef.current) { - transformerRef.current.setEnabled(enabledValue); - } - }, [enabledValue]); - - // Sync level when setting changes - useEffect(() => { - if (transformerRef.current) { - transformerRef.current.setSuppressionLevel(levelValue); - } - }, [levelValue]); - - // Cleanup on unmount - useEffect(() => { - return () => { - if (transformerRef.current) { - transformerRef.current.destroy(); + // Initialize transformer on first mount + useEffect(() => { + if (!transformerRef.current) { + transformerRef.current = new NoiseSuppressionTransformer(); + // Initialize with current settings + void transformerRef.current.initialize(levelValue, enabledValue); } - }; - }, []); + }, []); - return transformerRef.current!; -}; + // Sync enabled state when setting changes + useEffect(() => { + if (transformerRef.current) { + transformerRef.current.setEnabled(enabledValue); + } + }, [enabledValue]); + + // Sync level when setting changes + useEffect(() => { + if (transformerRef.current) { + transformerRef.current.setSuppressionLevel(levelValue); + } + }, [levelValue]); + + // Cleanup on unmount + useEffect(() => { + return () => { + if (transformerRef.current) { + transformerRef.current.destroy(); + } + }; + }, []); + + return transformerRef.current!; + }; diff --git a/src/state/CallViewModel/localMember/Publisher.ts b/src/state/CallViewModel/localMember/Publisher.ts index 1f63bfc8..fed1c4cc 100644 --- a/src/state/CallViewModel/localMember/Publisher.ts +++ b/src/state/CallViewModel/localMember/Publisher.ts @@ -426,7 +426,10 @@ export class Publisher { room: LivekitRoom, ): void { const track$ = scope.behavior( - observeTrackReference$(room.localParticipant, Track.Source.Microphone).pipe( + observeTrackReference$( + room.localParticipant, + Track.Source.Microphone, + ).pipe( map((trackRef) => { const track = trackRef?.publication.track; return track instanceof LocalAudioTrack ? track : null; diff --git a/vite.config.ts b/vite.config.ts index 3836d5ec..22a03501 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -104,7 +104,8 @@ export default ({ proxy: { // Proxy for DeepFilterNet3 assets to avoid CORS issues during development "/assets/deepfilternet3": { - target: "https://cdn.mezon.ai/AI/models/datas/noise_suppression/deepfilternet3", + target: + "https://cdn.mezon.ai/AI/models/datas/noise_suppression/deepfilternet3", changeOrigin: true, rewrite: (path) => path.replace(/^\/assets\/deepfilternet3/, ""), secure: false, // Allow self-signed certs in development