Download src/migrations/migrateAutoUpdatesToSettings.ts from chenbhao/codev: direct link, hf CLI and curl.
- Browser
- Download file 1.95 kB
-
https://huggingface.co/chenbhao/codev/resolve/main/src/migrations/migrateAutoUpdatesToSettings.ts
- Command line
-
hf download hf://chenbhao/codev/src/migrations/migrateAutoUpdatesToSettings.ts
-
curl -L -o migrateAutoUpdatesToSettings.ts https://huggingface.co/chenbhao/codev/resolve/main/src/migrations/migrateAutoUpdatesToSettings.ts
1.95 kB
| import { logEvent } from 'src/services/analytics/index.js' | |
| import { getGlobalConfig, saveGlobalConfig } from '../utils/config.js' | |
| import { logError } from '../utils/log.js' | |
| import { | |
| getSettingsForSource, | |
| updateSettingsForSource, | |
| } from '../utils/settings/settings.js' | |
| /** | |
| * Migration: Move user-set autoUpdates preference to settings.json env var | |
| * Only migrates if user explicitly disabled auto-updates (not for protection) | |
| * This preserves user intent while allowing native installations to auto-update | |
| */ | |
| export function migrateAutoUpdatesToSettings(): void { | |
| const globalConfig = getGlobalConfig() | |
| // Only migrate if autoUpdates was explicitly set to false by user preference | |
| // (not automatically for native protection) | |
| if ( | |
| globalConfig.autoUpdates !== false || | |
| globalConfig.autoUpdatesProtectedForNative === true | |
| ) { | |
| return | |
| } | |
| try { | |
| const userSettings = getSettingsForSource('userSettings') || {} | |
| // Always set DISABLE_AUTOUPDATER to preserve user intent | |
| // We need to overwrite even if it exists, to ensure the migration is complete | |
| updateSettingsForSource('userSettings', { | |
| ...userSettings, | |
| env: { | |
| ...userSettings.env, | |
| DISABLE_AUTOUPDATER: '1', | |
| }, | |
| }) | |
| logEvent('tengu_migrate_autoupdates_to_settings', { | |
| was_user_preference: true, | |
| already_had_env_var: !!userSettings.env?.DISABLE_AUTOUPDATER, | |
| }) | |
| // explicitly set, so this takes effect immediately | |
| process.env.DISABLE_AUTOUPDATER = '1' | |
| // Remove autoUpdates from global config after successful migration | |
| saveGlobalConfig(current => { | |
| const { | |
| autoUpdates: _, | |
| autoUpdatesProtectedForNative: __, | |
| ...updatedConfig | |
| } = current | |
| return updatedConfig | |
| }) | |
| } catch (error) { | |
| logError(new Error(`Failed to migrate auto-updates: ${error}`)) | |
| logEvent('tengu_migrate_autoupdates_error', { | |
| has_error: true, | |
| }) | |
| } | |
| } | |