fix: skip gateway voice reply for all platforms on voice input

Base adapter auto-TTS already generates and sends audio for voice
messages in _process_message_background. The gateway runner's
_send_voice_reply was causing double audio on all platforms (not
just Web). Now skip_double applies to any voice input regardless
of platform.
This commit is contained in:
0xbyt4
2026-03-11 21:52:59 +03:00
parent 62e75cd158
commit 095815d520

View File

@@ -1635,10 +1635,10 @@ class GatewayRunner:
)
for msg in agent_messages
)
# Skip if voice input on Web platform — base adapter auto-TTS
# already sent play_audio, so sending another would be double.
is_web = (source.platform == Platform.WEB)
skip_double = is_web and is_voice_input
# Skip if voice input — base adapter auto-TTS in
# _process_message_background already sent audio for voice
# messages, so sending another would be double.
skip_double = is_voice_input
logger.info("Voice reply: has_agent_tts=%s, skip_double=%s, calling _send_voice_reply", has_agent_tts, skip_double)
if not has_agent_tts and not skip_double:
await self._send_voice_reply(event, response)