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;