From 2d1a6af890da1e9437cd1a1774e2c7fc7ad32957 Mon Sep 17 00:00:00 2001 From: JAYADITYA <96861162+JayadityaGit@users.noreply.github.com> Date: Tue, 12 Aug 2025 09:43:57 +0530 Subject: feat(cli): support single Ctrl+C to cancel streaming, preserving double Ctrl+C to exit (#5838) --- packages/cli/src/ui/App.tsx | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'packages/cli/src/ui/App.tsx') diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx index c4f67294..e952d6b2 100644 --- a/packages/cli/src/ui/App.tsx +++ b/packages/cli/src/ui/App.tsx @@ -545,6 +545,7 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => { initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, + cancelOngoingRequest, } = useGeminiStream( config.getGeminiClient(), history, @@ -655,6 +656,9 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => { if (isAuthenticating) { return; } + if (!ctrlCPressedOnce) { + cancelOngoingRequest?.(); + } handleExit(ctrlCPressedOnce, setCtrlCPressedOnce, ctrlCTimerRef); } else if (keyMatchers[Command.EXIT](key)) { if (buffer.text.length > 0) { @@ -686,6 +690,7 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => { ctrlDTimerRef, handleSlashCommand, isAuthenticating, + cancelOngoingRequest, ], ); -- cgit v1.2.3