refactor(call): move noise-suppression toggle out of the call bar

Default flipped to off so voice doesn't get coloured by browser NS on
first run. Users turn it on explicitly under Settings → Sprache, where
the toggle already lived before the in-call button shipped.

The in-call SparklesIcon button and all the associated wiring
(onToggleNoiseSuppression, noiseSuppression prop, local subscription
in InCallPanel) is removed. The hot-swap UX is preserved: a new
subscribeAudioSettings watcher in CallContext detects noiseSuppression
flips during an active call and re-runs setupMicPipeline so the change
takes effect without rejoining.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
byGalax
2026-04-22 20:14:57 +02:00
parent eb8f702576
commit 02ca3e3581
4 changed files with 21 additions and 45 deletions
+4 -1
View File
@@ -41,7 +41,10 @@ const DEFAULTS: AudioSettings = {
inputDeviceId: null,
outputDeviceId: null,
voiceThreshold: 0.03,
noiseSuppression: true,
// Off by default — browser-native NS colours voice audibly on some
// mics and is a frequent "why does my voice sound weird" report.
// Users who want it enable it explicitly in Settings → Sprache.
noiseSuppression: false,
videoBackgroundBlur: false,
ringtoneVolume: 0.9,
};