fix(audio): suppress ALSA stderr noise during device enumeration

Device watcher (3 s loop) and audio_list_devices both called
cpal output_devices(), triggering ALSA to probe unavailable backends
(JACK, OSS, dmix) and spam stderr with error messages.

Fix: redirect fd 2 to /dev/null for the duration of each enumeration
on Unix via libc dup/dup2 + RAII guard. Also add a module-level
cache in Settings.tsx so audio_list_devices is only invoked once
per app session instead of on every Audio tab activation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Psychotoxical
2026-04-13 18:30:24 +02:00
parent 16cb4f5a6f
commit 1cf5faff21
4 changed files with 50 additions and 2 deletions
+1
View File
@@ -3564,6 +3564,7 @@ dependencies = [
"discord-rich-presence",
"futures-util",
"id3",
"libc",
"lofty",
"md5",
"reqwest 0.12.28",