diff --git a/quickshell/Common/SettingsData.qml b/quickshell/Common/SettingsData.qml index 28701202f..2333163e8 100644 --- a/quickshell/Common/SettingsData.qml +++ b/quickshell/Common/SettingsData.qml @@ -1836,7 +1836,7 @@ Singleton { let obj = _getSettingsObjectFromFiles(); let loadedSettings = JSON.stringify(obj); - const oldVersion = obj?.configVersion ?? 0; + const oldVersion = obj?.configVersion ?? settingsConfigVersion; if (oldVersion > settingsConfigVersion) { newerSettingsBackup.path = `${_configDir}/dms/settings.v${oldVersion}.json`; newerSettingsBackup.setText(JSON.stringify(obj, null, 2)); diff --git a/quickshell/Common/settings/SettingsStore.js b/quickshell/Common/settings/SettingsStore.js index 5143b3d98..8a741df2a 100644 --- a/quickshell/Common/settings/SettingsStore.js +++ b/quickshell/Common/settings/SettingsStore.js @@ -232,8 +232,11 @@ function migrateToVersion(obj, targetVersion) { if (!obj) return null; + // hand-written and nix-generated files carry no version and are authored against the current format + if (obj.configVersion === undefined) + return null; var settings = JSON.parse(JSON.stringify(obj)); - var currentVersion = settings.configVersion || 0; + var currentVersion = settings.configVersion; if (currentVersion >= targetVersion) { return null;