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
This commit is contained in:
Taylor Mullen
2025-05-06 22:26:38 -07:00
committed by N. Taylor Mullen
parent 782686bcf3
commit a588d5cd10
3 changed files with 30 additions and 1 deletions

View File

@@ -25,7 +25,8 @@ export const ToolMessage: React.FC<IndividualToolCallDisplay> = ({
<Box minHeight={1}>
{/* Status Indicator */}
<Box minWidth={statusIndicatorWidth}>
{status === ToolCallStatus.Pending && <Spinner type="dots" />}
{(status === ToolCallStatus.Pending ||
status === ToolCallStatus.Executing) && <Spinner type="dots" />}
{status === ToolCallStatus.Success && (
<Text color={Colors.AccentGreen}></Text>
)}