fix(chat): add abort mechanism for in-flight requests on unmount

This commit is contained in:
twwu 2026-04-20 17:17:42 +08:00
parent ea58415f88
commit 45b0751826

View File

@ -209,6 +209,19 @@ export const useChat = (
cb?.()
}, [handleStop])
const abortInflightRequests = useCallback(() => {
conversationMessagesAbortControllerRef.current?.abort()
suggestedQuestionsAbortControllerRef.current?.abort()
workflowEventsAbortControllerRef.current?.abort()
}, [])
// Abort all in-flight fetch/SSE requests when the consumer unmounts
useEffect(() => {
return () => {
abortInflightRequests()
}
}, [abortInflightRequests])
const createAudioPlayerManager = useCallback(() => {
let ttsUrl = ''
let ttsIsPublic = false