From 4a64cbe43df6ac6b91f293d2da6fcc3010f03b48 Mon Sep 17 00:00:00 2001 From: Roger Chappel Date: Thu, 21 May 2026 12:50:09 +1000 Subject: [PATCH] fix: prefer realtime voice in capacitor --- src/components/chat/voice-agent.tsx | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/components/chat/voice-agent.tsx b/src/components/chat/voice-agent.tsx index f81d5a9..9359b0e 100644 --- a/src/components/chat/voice-agent.tsx +++ b/src/components/chat/voice-agent.tsx @@ -570,6 +570,23 @@ export function VoiceAgent({ detail: nativeAvailability, }); + if (await startRealtimeRelay(sessionId)) { + recordVoiceBreadcrumb("activate.realtime-relay", { + nativeAvailable: nativeAvailability.available, + nativeBackgroundCapable: nativeAvailability.backgroundCapable, + }); + publishAgentModeDiagnostic({ + scope: "voice-agent", + event: "activate.realtime-relay", + sessionId, + detail: { + nativeAvailable: nativeAvailability.available, + nativeBackgroundCapable: nativeAvailability.backgroundCapable, + }, + }); + return; + } + if (nativeAvailability.available) { try { const nativeSession = await startNativeVoiceSession({ @@ -638,16 +655,6 @@ export function VoiceAgent({ return; } - if (await startRealtimeRelay(sessionId)) { - recordVoiceBreadcrumb("activate.realtime-relay"); - publishAgentModeDiagnostic({ - scope: "voice-agent", - event: "activate.realtime-relay", - sessionId, - }); - return; - } - const serverSttAvailable = await isServerSttAvailable(); recordVoiceBreadcrumb("stt.availability", { available: serverSttAvailable }); publishAgentModeDiagnostic({