From 7c0313757781895870e52382eaf07299d6a6a4c0 Mon Sep 17 00:00:00 2001 From: Woody Date: Thu, 14 May 2026 23:19:11 +0800 Subject: [PATCH] fix: mic transcript disappearing after stop useMediaStreamASR cleanup() cleared partialTranscript on stop, causing live ASR text to vanish from QueryInput. Unlike video ASR (which has onFinalTranscript to persist via queryText), mic and system-audio hooks rely on partialTranscript for display. Keep partialTranscript populated with the final transcript instead of clearing it. --- frontend/src/hooks/useMediaStreamASR.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/hooks/useMediaStreamASR.ts b/frontend/src/hooks/useMediaStreamASR.ts index eaa276a..d2b5cda 100644 --- a/frontend/src/hooks/useMediaStreamASR.ts +++ b/frontend/src/hooks/useMediaStreamASR.ts @@ -48,7 +48,10 @@ export function useMediaStreamASR({ wsUrl }: UseMediaStreamASRProps): UseMediaSt lastStashRef.current = '' if (currentText) { setTranscript(currentText) - setPartialTranscript('') + // Keep partialTranscript populated so the text remains visible in QueryInput + // after the user stops capture/listening. Unlike video ASR, mic/system-audio + // hooks have no onFinalTranscript callback to persist via queryText. + setPartialTranscript(currentText) } if (streamRef.current) {