From 1f2be4299d2cc5ad2c6882713ef478eed5ea7c62 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sat, 15 Aug 2026 13:15:38 +0200 Subject: [PATCH] fix(voice): Passiv-Lauschen nur bei converse:true (kein 30s-Linger nach Befehl) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit converse defaultete true → jeder Befehl mit gesprochener Bestaetigung ('Spiele Spotify') ging ins 30s-Passiv-Fenster. Jetzt nur bei explizitem converse:true vom Brain; einzelne Befehle enden sofort → zurueck aufs Wake-Word, Spotify resumed gleich. Co-Authored-By: Claude Opus 4.8 --- android/src/screens/ChatScreen.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/android/src/screens/ChatScreen.tsx b/android/src/screens/ChatScreen.tsx index 3bc6f6c..8dee910 100644 --- a/android/src/screens/ChatScreen.tsx +++ b/android/src/screens/ChatScreen.tsx @@ -1401,7 +1401,11 @@ const ChatScreen: React.FC = () => { // Fallback mehr: die Bridge schickt speak zuverlaessig mit. // Merken ob nach dem Vorlesen 30s weiterlauschen (Gespraech) oder direkt // stoppen — onPlaybackFinished liest converseRef. Default true. - converseRef.current = (message.payload as any).converse !== false; + // Passiv-Lauschen (30s) NUR wenn das Brain explizit converse:true schickt. + // Vorher default true → jeder Befehl (auch "Spiele Spotify" mit gesproche- + // ner Bestaetigung) landete im 30s-Fenster. Jetzt: einzelne Befehle enden + // sofort (zurueck aufs Wake-Word), nur echte Gespraeche lauschen weiter. + converseRef.current = (message.payload as any).converse === true; const _isSilent = (message.payload as any).speak === false; if (_isSilent && wakeWordService.isConversing()) { // Klarer Steuerbefehl (Liedersteuerung etc.) = KEINE Konversation →