mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-12 23:21:27 -07:00
fix(auto-update): suppress npx nag for transient installs (#10276)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
This commit is contained in:
@@ -123,6 +123,24 @@ describe('handleAutoUpdate', () => {
|
||||
expect(mockSpawn).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it.each([
|
||||
PackageManager.NPX,
|
||||
PackageManager.PNPX,
|
||||
PackageManager.BUNX,
|
||||
])('should suppress update notifications when running via %s', (packageManager) => {
|
||||
mockGetInstallationInfo.mockReturnValue({
|
||||
updateCommand: undefined,
|
||||
updateMessage: `Running via ${packageManager}, update not applicable.`,
|
||||
isGlobal: false,
|
||||
packageManager,
|
||||
});
|
||||
|
||||
handleAutoUpdate(mockUpdateInfo, mockSettings, '/root', mockSpawn);
|
||||
|
||||
expect(mockUpdateEventEmitter.emit).not.toHaveBeenCalled();
|
||||
expect(mockSpawn).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should emit "update-received" but not update if no update command is found', () => {
|
||||
mockGetInstallationInfo.mockReturnValue({
|
||||
updateCommand: undefined,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
import type { UpdateObject } from '../ui/utils/updateCheck.js';
|
||||
import type { LoadedSettings } from '../config/settings.js';
|
||||
import { getInstallationInfo } from './installationInfo.js';
|
||||
import { getInstallationInfo, PackageManager } from './installationInfo.js';
|
||||
import { updateEventEmitter } from './updateEventEmitter.js';
|
||||
import type { HistoryItem } from '../ui/types.js';
|
||||
import { MessageType } from '../ui/types.js';
|
||||
@@ -32,6 +32,16 @@ export function handleAutoUpdate(
|
||||
settings.merged.general?.disableAutoUpdate ?? false,
|
||||
);
|
||||
|
||||
if (
|
||||
[
|
||||
PackageManager.NPX,
|
||||
PackageManager.PNPX,
|
||||
PackageManager.BUNX
|
||||
].includes(installationInfo.packageManager)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
let combinedMessage = info.message;
|
||||
if (installationInfo.updateMessage) {
|
||||
combinedMessage += `\n${installationInfo.updateMessage}`;
|
||||
|
||||
Reference in New Issue
Block a user