diff --git a/packages/cli/src/ui/components/AppHeader.tsx b/packages/cli/src/ui/components/AppHeader.tsx
index 704b094663..7d0ef75a36 100644
--- a/packages/cli/src/ui/components/AppHeader.tsx
+++ b/packages/cli/src/ui/components/AppHeader.tsx
@@ -108,7 +108,7 @@ export const AppHeader = ({ version, showDetails = true }: AppHeaderProps) => {
Gemini CLI
v{version}
- {updateInfo && (
+ {updateInfo?.isUpdating && (
Updating
diff --git a/packages/cli/src/ui/utils/updateCheck.ts b/packages/cli/src/ui/utils/updateCheck.ts
index 21dc0f836e..9f80beee08 100644
--- a/packages/cli/src/ui/utils/updateCheck.ts
+++ b/packages/cli/src/ui/utils/updateCheck.ts
@@ -27,6 +27,7 @@ export interface UpdateInfo {
export interface UpdateObject {
message: string;
update: UpdateInfo;
+ isUpdating?: boolean;
}
/**
diff --git a/packages/cli/src/utils/handleAutoUpdate.test.ts b/packages/cli/src/utils/handleAutoUpdate.test.ts
index 94795bf94e..6035c1e6d1 100644
--- a/packages/cli/src/utils/handleAutoUpdate.test.ts
+++ b/packages/cli/src/utils/handleAutoUpdate.test.ts
@@ -197,7 +197,9 @@ describe('handleAutoUpdate', () => {
expect(updateEventEmitter.emit).toHaveBeenCalledTimes(1);
expect(updateEventEmitter.emit).toHaveBeenCalledWith('update-received', {
+ ...mockUpdateInfo,
message: 'An update is available!\nPlease update manually.',
+ isUpdating: false,
});
expect(mockSpawn).not.toHaveBeenCalled();
});
@@ -236,7 +238,9 @@ describe('handleAutoUpdate', () => {
expect(updateEventEmitter.emit).toHaveBeenCalledTimes(1);
expect(updateEventEmitter.emit).toHaveBeenCalledWith('update-received', {
+ ...mockUpdateInfo,
message: 'An update is available!\nCannot determine update command.',
+ isUpdating: false,
});
expect(mockSpawn).not.toHaveBeenCalled();
});
@@ -253,7 +257,9 @@ describe('handleAutoUpdate', () => {
expect(updateEventEmitter.emit).toHaveBeenCalledTimes(1);
expect(updateEventEmitter.emit).toHaveBeenCalledWith('update-received', {
+ ...mockUpdateInfo,
message: 'An update is available!\nThis is an additional message.',
+ isUpdating: false,
});
});
diff --git a/packages/cli/src/utils/handleAutoUpdate.ts b/packages/cli/src/utils/handleAutoUpdate.ts
index bd0effa53b..4f8ca69ed3 100644
--- a/packages/cli/src/utils/handleAutoUpdate.ts
+++ b/packages/cli/src/utils/handleAutoUpdate.ts
@@ -102,17 +102,22 @@ export function handleAutoUpdate(
combinedMessage += `\n${installationInfo.updateMessage}`;
}
- updateEventEmitter.emit('update-received', {
- message: combinedMessage,
- });
-
if (
!installationInfo.updateCommand ||
!settings.merged.general.enableAutoUpdate
) {
+ updateEventEmitter.emit('update-received', {
+ ...info,
+ message: combinedMessage,
+ isUpdating: false,
+ });
return;
}
-
+ updateEventEmitter.emit('update-received', {
+ ...info,
+ message: combinedMessage,
+ isUpdating: true,
+ });
if (_updateInProgress) {
return;
}