From 9a2c882ab0b68a2b2524086424b720aef6278a9d Mon Sep 17 00:00:00 2001 From: Edison Jwa Date: Wed, 20 May 2026 16:26:19 +0900 Subject: [PATCH] fix(core): keep speaker mute local --- core/chanora_core/src/lib.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/chanora_core/src/lib.rs b/core/chanora_core/src/lib.rs index df859d1..a98e45e 100644 --- a/core/chanora_core/src/lib.rs +++ b/core/chanora_core/src/lib.rs @@ -998,7 +998,13 @@ impl ChanoraSession { ) -> Result<(), CoreError> { let guard = self.inner.lock().await; let state = guard.as_ref().ok_or(CoreError::NotConnected)?; - state.protocol.set_muted(input, output).await?; + // Server-side output mute/deafen makes TeamSpeak/tsclientlib + // consider the client unable to send audio. That is correct + // for a server-visible "deafened" state, but our P0 speaker + // button is a local playback mute. Keep output mute local-only + // so Android can still transmit while the user silences remote + // playback on this device. + state.protocol.set_muted(input, None).await?; if let Some(muted) = output { if let Some(audio) = state.audio.as_ref() { audio.set_output_muted(muted);