fix(cli): Prevent request cancellation after multiple Esc presses
- Ensures `abortControllerRef` is reset after a request is aborted or completed. - Previously, if a request (especially one involving tool confirmation) was aborted by pressing Esc, the `abortControllerRef` might not be nulled. - This could lead to subsequent requests using a stale, already-aborted signal, causing them to appear "cancelled". - The fix unconditionally sets `abortControllerRef.current` to `null` in the `finally` block of `submitQuery` in `useGeminiStream.ts`. - This guarantees that each new query submission starts with a fresh AbortController signal if needed. - Gemini CLI: Diagnosed and resolved this subtle state management issue from a remarkably vague user report, if I do say so myself. Fixes https://buganizer.corp.google.com/issues/418496499
This commit is contained in:
parent
7fd7c1a539
commit
bda472f147
|
@ -600,9 +600,7 @@ export const useGeminiStream = (
|
|||
);
|
||||
}
|
||||
} finally {
|
||||
if (streamingState !== StreamingState.WaitingForConfirmation) {
|
||||
abortControllerRef.current = null;
|
||||
}
|
||||
abortControllerRef.current = null; // Always reset
|
||||
setIsResponding(false);
|
||||
}
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue