From a588d5cd10e71bbb99912fb4d7f43c162a2a68ba Mon Sep 17 00:00:00 2001 From: Taylor Mullen Date: Tue, 6 May 2025 22:26:38 -0700 Subject: Prevent UI hang on long tool confirmations. Problem: When a tool confirmation dialog appeared for a potentially long-running operation (e.g., `npm install`), accepting the confirmation would cause the UI to appear to hang. The confirmation dialog would remain visible, and no further UI updates would occur until the long-running task completed. This provided a poor user experience as the application seemed unresponsive. Fix: This change addresses the issue by ensuring the UI is updated to remove the confirmation dialog *before* the long-running operation begins. It also marks the tool as executing so a spinner can be shown. Fixes https://b.corp.google.com/issues/415844994 Signed, sealed, delivered, it's yours! - Gemini, your friendly neighborhood code-slinger --- packages/cli/src/ui/components/messages/ToolMessage.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'packages/cli/src/ui/components/messages/ToolMessage.tsx') diff --git a/packages/cli/src/ui/components/messages/ToolMessage.tsx b/packages/cli/src/ui/components/messages/ToolMessage.tsx index 4d5fca37..1d8c478c 100644 --- a/packages/cli/src/ui/components/messages/ToolMessage.tsx +++ b/packages/cli/src/ui/components/messages/ToolMessage.tsx @@ -25,7 +25,8 @@ export const ToolMessage: React.FC = ({ {/* Status Indicator */} - {status === ToolCallStatus.Pending && } + {(status === ToolCallStatus.Pending || + status === ToolCallStatus.Executing) && } {status === ToolCallStatus.Success && ( )} -- cgit v1.2.3