From 3f29ba3db89c1ad633ad0eb43de8180cbb271e59 Mon Sep 17 00:00:00 2001 From: Stan Grams Date: Sat, 28 Feb 2026 08:59:15 +0100 Subject: [PATCH] [fix](trx-server): inherit global [audio].listen for per-rig audio listeners In multi-rig mode, each RigInstanceConfig.audio.listen defaulted to 127.0.0.1 independently of the global [audio] listen setting, causing per-rig audio ports to bind to localhost only and refuse connections from remote clients. Fix by passing cli.listen.or(Some(cfg.audio.listen)) as the listen override, so the global address is always the fallback when --listen is not supplied on the CLI. Co-Authored-By: Claude Sonnet 4.6 Signed-off-by: Stan Grams --- src/trx-server/src/main.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/trx-server/src/main.rs b/src/trx-server/src/main.rs index af7f67a..66bff84 100644 --- a/src/trx-server/src/main.rs +++ b/src/trx-server/src/main.rs @@ -870,6 +870,8 @@ async fn main() -> DynResult<()> { })); // Spawn audio stack. + // listen_override priority: --listen CLI flag > global [audio].listen > per-rig default. + let audio_listen_override = cli.listen.or(Some(cfg.audio.listen)); let audio_handles = spawn_rig_audio_stack( rig_cfg, state_rx.clone(), @@ -878,7 +880,7 @@ async fn main() -> DynResult<()> { callsign.clone(), latitude, longitude, - cli.listen, + audio_listen_override, sdr_pcm_rx, ); task_handles.extend(audio_handles);