From 76c3dbc4b779ef2e1f7be0f2915df62b3855692a Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Mon, 30 Mar 2026 19:43:15 -0400 Subject: [PATCH] fix: stop TTS playback when PTT is activated Pressing push-to-talk now immediately stops any ongoing TTS audio before opening the microphone, preventing the assistant from hearing itself. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/components/VoiceOverlay.vue | 2 ++ frontend/src/views/BriefingView.vue | 1 + 2 files changed, 3 insertions(+) diff --git a/frontend/src/components/VoiceOverlay.vue b/frontend/src/components/VoiceOverlay.vue index 7445a30..470a648 100644 --- a/frontend/src/components/VoiceOverlay.vue +++ b/frontend/src/components/VoiceOverlay.vue @@ -68,6 +68,8 @@ const audio = useVoiceAudio() // ─── Core PTT flow ──────────────────────────────────────────────────────────── async function startPtt() { if (!voiceEnabled.value || isBusy.value) return + // Stop any in-progress TTS playback before opening the mic + audio.stop() errorMsg.value = '' open.value = true await recorder.startRecording() diff --git a/frontend/src/views/BriefingView.vue b/frontend/src/views/BriefingView.vue index 9ac88b2..9dd06da 100644 --- a/frontend/src/views/BriefingView.vue +++ b/frontend/src/views/BriefingView.vue @@ -281,6 +281,7 @@ async function speakText(text: string) { // PTT: hold to record, release to transcribe and send async function startPtt() { if (!voiceEnabled.value || recorder.recording.value) return + audio.stop() await recorder.startRecording() }