diff --git a/packages/cli/src/config/settings.test.ts b/packages/cli/src/config/settings.test.ts index 029d2988b5..ff201bcfe8 100644 --- a/packages/cli/src/config/settings.test.ts +++ b/packages/cli/src/config/settings.test.ts @@ -1961,6 +1961,57 @@ describe('Settings Loading and Merging', () => { }), ); }); + + it('should migrate disableUpdateNag to enableAutoUpdateNotification in system and system defaults settings', () => { + const systemSettingsContent = { + general: { + disableUpdateNag: true, + }, + }; + const systemDefaultsContent = { + general: { + disableUpdateNag: false, + }, + }; + + vi.mocked(fs.existsSync).mockReturnValue(true); + (fs.readFileSync as Mock).mockImplementation( + (p: fs.PathOrFileDescriptor) => { + if (p === getSystemSettingsPath()) { + return JSON.stringify(systemSettingsContent); + } + if (p === getSystemDefaultsPath()) { + return JSON.stringify(systemDefaultsContent); + } + return '{}'; + }, + ); + + const settings = loadSettings(MOCK_WORKSPACE_DIR); + + // Verify system settings were migrated + expect(settings.system.settings.general).toHaveProperty( + 'enableAutoUpdateNotification', + ); + expect( + (settings.system.settings.general as Record)[ + 'enableAutoUpdateNotification' + ], + ).toBe(false); + + // Verify system defaults settings were migrated + expect(settings.systemDefaults.settings.general).toHaveProperty( + 'enableAutoUpdateNotification', + ); + expect( + (settings.systemDefaults.settings.general as Record)[ + 'enableAutoUpdateNotification' + ], + ).toBe(true); + + // Merged should also reflect it (system overrides defaults, but both are migrated) + expect(settings.merged.general?.enableAutoUpdateNotification).toBe(false); + }); }); describe('saveSettings', () => { diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index f8b88b910a..a9d29e56a4 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -808,6 +808,8 @@ export function migrateDeprecatedSettings( processScope(SettingScope.User); processScope(SettingScope.Workspace); + processScope(SettingScope.System); + processScope(SettingScope.SystemDefaults); return anyModified; }