From beeed79aaaff8270d28dfa1e13c55fa2d9c78db0 Mon Sep 17 00:00:00 2001
From: ValueOn AG
Date: Tue, 2 Jun 2026 09:26:40 +0200
Subject: [PATCH] fix: TDZ crash in useSpeechAudioCapture - move
statusRef+_setStatusTracked before stop
Co-authored-by: Cursor
---
src/hooks/useSpeechAudioCapture.ts | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/hooks/useSpeechAudioCapture.ts b/src/hooks/useSpeechAudioCapture.ts
index 6d765fb..c97b96f 100644
--- a/src/hooks/useSpeechAudioCapture.ts
+++ b/src/hooks/useSpeechAudioCapture.ts
@@ -92,6 +92,12 @@ export function useVoiceStream(callbacks: VoiceStreamCallbacks): VoiceStreamApi
}
}, []);
+ const statusRef = useRef('idle');
+ const _setStatusTracked = useCallback((next: VoiceStreamStatus) => {
+ statusRef.current = next;
+ _setStatus(next);
+ }, [_setStatus]);
+
const stop = useCallback(() => {
stoppingRef.current = true;
_stopRecorder();
@@ -113,12 +119,6 @@ export function useVoiceStream(callbacks: VoiceStreamCallbacks): VoiceStreamApi
};
}, []);
- const statusRef = useRef('idle');
- const _setStatusTracked = useCallback((next: VoiceStreamStatus) => {
- statusRef.current = next;
- _setStatus(next);
- }, [_setStatus]);
-
const start = useCallback(async (language?: string, sttOpenOptions?: SttStreamOpenOptions) => {
if (statusRef.current === 'listening' || statusRef.current === 'connecting') return;
stoppingRef.current = false;