mirror of
https://github.com/vector-im/element-call.git
synced 2026-08-29 21:15:19 +00:00
prettier
This commit is contained in:
@@ -79,7 +79,9 @@ function downloadFile(fileUrl, filePath, isOptional = false) {
|
|||||||
) {
|
) {
|
||||||
const redirectUrl = response.headers.location;
|
const redirectUrl = response.headers.location;
|
||||||
console.log(` Redirected to: ${redirectUrl}`);
|
console.log(` Redirected to: ${redirectUrl}`);
|
||||||
downloadFile(redirectUrl, filePath, isOptional).then(resolve).catch(reject);
|
downloadFile(redirectUrl, filePath, isOptional)
|
||||||
|
.then(resolve)
|
||||||
|
.catch(reject);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,7 +143,9 @@ async function main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
console.log("\n✅ Asset setup complete!");
|
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);
|
process.exit(0);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("\n❌ Asset setup failed:", error.message);
|
console.error("\n❌ Asset setup failed:", error.message);
|
||||||
|
|||||||
@@ -9,7 +9,10 @@ import type { LocalAudioTrack } from "livekit-client";
|
|||||||
import { combineLatest } from "rxjs";
|
import { combineLatest } from "rxjs";
|
||||||
import { logger } from "matrix-js-sdk/lib/logger";
|
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 { getUrlParams } from "../UrlParams";
|
||||||
import type { Behavior } from "../state/Behavior";
|
import type { Behavior } from "../state/Behavior";
|
||||||
import type { ObservableScope } from "../state/ObservableScope";
|
import type { ObservableScope } from "../state/ObservableScope";
|
||||||
@@ -78,7 +81,9 @@ export const audioTrackNoiseSuppressionSync = (
|
|||||||
|
|
||||||
const processor = transformer.getProcessor();
|
const processor = transformer.getProcessor();
|
||||||
if (!processor) {
|
if (!processor) {
|
||||||
logger.error("[audioTrackNoiseSuppressionSync] Processor not initialized");
|
logger.error(
|
||||||
|
"[audioTrackNoiseSuppressionSync] Processor not initialized",
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,7 +108,9 @@ export const audioTrackNoiseSuppressionSync = (
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// Track was removed - stop processor if applicable
|
// Track was removed - stop processor if applicable
|
||||||
logger.debug("[audioTrackNoiseSuppressionSync] Audio track not available");
|
logger.debug(
|
||||||
|
"[audioTrackNoiseSuppressionSync] Audio track not available",
|
||||||
|
);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error("[audioTrackNoiseSuppressionSync] Error:", error);
|
logger.error("[audioTrackNoiseSuppressionSync] Error:", error);
|
||||||
|
|||||||
@@ -7,7 +7,10 @@ Please see LICENSE in the repository root for full details.
|
|||||||
|
|
||||||
import { useEffect, useRef } from "react";
|
import { useEffect, useRef } from "react";
|
||||||
|
|
||||||
import { noiseSuppressionEnabled, noiseSuppressionLevel } from "../settings/settings";
|
import {
|
||||||
|
noiseSuppressionEnabled,
|
||||||
|
noiseSuppressionLevel,
|
||||||
|
} from "../settings/settings";
|
||||||
import { useBehavior } from "../useBehavior";
|
import { useBehavior } from "../useBehavior";
|
||||||
import { NoiseSuppressionTransformer } from "../livekit/NoiseSuppressionTransformer";
|
import { NoiseSuppressionTransformer } from "../livekit/NoiseSuppressionTransformer";
|
||||||
|
|
||||||
@@ -16,42 +19,43 @@ import { NoiseSuppressionTransformer } from "../livekit/NoiseSuppressionTransfor
|
|||||||
* Synchronizes the transformer with the noise suppression settings.
|
* Synchronizes the transformer with the noise suppression settings.
|
||||||
* Returns the transformer instance for use in Publishers.
|
* Returns the transformer instance for use in Publishers.
|
||||||
*/
|
*/
|
||||||
export const useNoiseSuppressionTransformer = (): NoiseSuppressionTransformer => {
|
export const useNoiseSuppressionTransformer =
|
||||||
const transformerRef = useRef<NoiseSuppressionTransformer | null>(null);
|
(): NoiseSuppressionTransformer => {
|
||||||
const enabledValue = useBehavior(noiseSuppressionEnabled.value$);
|
const transformerRef = useRef<NoiseSuppressionTransformer | null>(null);
|
||||||
const levelValue = useBehavior(noiseSuppressionLevel.value$);
|
const enabledValue = useBehavior(noiseSuppressionEnabled.value$);
|
||||||
|
const levelValue = useBehavior(noiseSuppressionLevel.value$);
|
||||||
|
|
||||||
// Initialize transformer on first mount
|
// Initialize transformer on first mount
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!transformerRef.current) {
|
if (!transformerRef.current) {
|
||||||
transformerRef.current = new NoiseSuppressionTransformer();
|
transformerRef.current = new NoiseSuppressionTransformer();
|
||||||
// Initialize with current settings
|
// Initialize with current settings
|
||||||
void transformerRef.current.initialize(levelValue, enabledValue);
|
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();
|
|
||||||
}
|
}
|
||||||
};
|
}, []);
|
||||||
}, []);
|
|
||||||
|
|
||||||
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!;
|
||||||
|
};
|
||||||
|
|||||||
@@ -426,7 +426,10 @@ export class Publisher {
|
|||||||
room: LivekitRoom,
|
room: LivekitRoom,
|
||||||
): void {
|
): void {
|
||||||
const track$ = scope.behavior(
|
const track$ = scope.behavior(
|
||||||
observeTrackReference$(room.localParticipant, Track.Source.Microphone).pipe(
|
observeTrackReference$(
|
||||||
|
room.localParticipant,
|
||||||
|
Track.Source.Microphone,
|
||||||
|
).pipe(
|
||||||
map((trackRef) => {
|
map((trackRef) => {
|
||||||
const track = trackRef?.publication.track;
|
const track = trackRef?.publication.track;
|
||||||
return track instanceof LocalAudioTrack ? track : null;
|
return track instanceof LocalAudioTrack ? track : null;
|
||||||
|
|||||||
@@ -104,7 +104,8 @@ export default ({
|
|||||||
proxy: {
|
proxy: {
|
||||||
// Proxy for DeepFilterNet3 assets to avoid CORS issues during development
|
// Proxy for DeepFilterNet3 assets to avoid CORS issues during development
|
||||||
"/assets/deepfilternet3": {
|
"/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,
|
changeOrigin: true,
|
||||||
rewrite: (path) => path.replace(/^\/assets\/deepfilternet3/, ""),
|
rewrite: (path) => path.replace(/^\/assets\/deepfilternet3/, ""),
|
||||||
secure: false, // Allow self-signed certs in development
|
secure: false, // Allow self-signed certs in development
|
||||||
|
|||||||
Reference in New Issue
Block a user