Don't cancel stream on navigation away
Aborting the fetch on component unmount sent a disconnect to the server, which cancelled the in-flight generation. Now the stream runs to completion in the background (isMountedRef guards prevent stale state updates), the response is persisted, and it's there when the user returns to the conversation. stopGeneration() still aborts immediately on explicit user cancel. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -67,7 +67,9 @@ export function useChat({
|
||||
isMountedRef.current = true;
|
||||
return () => {
|
||||
isMountedRef.current = false;
|
||||
abortControllerRef.current?.abort();
|
||||
// Intentionally do NOT abort on unmount — navigation away lets the
|
||||
// stream finish in the background so the response gets persisted.
|
||||
// stopGeneration() still aborts on explicit user cancel.
|
||||
};
|
||||
}, []);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user