diff --git a/frontend/src/App.vue b/frontend/src/App.vue index b242339..6163e9d 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -32,6 +32,7 @@ const serverConfig = isTauri ? useServerConfig() : null const showServerConfig = ref(false) const needsServerConfig = computed(() => isTauri && serverConfig && !serverConfig.isConfigured) +const isPipWindow = computed(() => route.query.pip === '1') const showVoice = ref(false) const showTranscriptDebug = ref(false) const showDebugConsole = ref(false) @@ -229,23 +230,16 @@ onMounted(async () => { return true } - // Bridge for Android voice assistant — opens FloatingTranscriptDebug on the target terminal + // Bridge for Android voice assistant — navigates to transcript-debug page on the target terminal ;(window as any).__VOICE_OPEN_TERMINAL__ = (ephemeralSessionId: string) => { const entry = sessionState.terminalRegistry.find( t => t.ephemeralSessionId === ephemeralSessionId ) - if (entry && transcriptDebugRef.value) { - transcriptDebugRef.value.switchToTerminal(entry.transcriptSessionId) - showTranscriptDebug.value = true - return true - } - // Fallback: open on first terminal - if (sessionState.terminalRegistry.length && transcriptDebugRef.value) { - transcriptDebugRef.value.switchToTerminal(sessionState.terminalRegistry[0].transcriptSessionId) - showTranscriptDebug.value = true - return true - } - return false + const idx = entry + ? sessionState.terminalRegistry.indexOf(entry) + 1 + : 1 + router.push(`/transcript-debug/${idx}`) + return true } // Sync Windows titlebar color with CSS variable @@ -372,8 +366,8 @@ if (serverConfig) {