From 5cd0b61402e3f4b789882e020439cc6401179d73 Mon Sep 17 00:00:00 2001 From: bbedward Date: Tue, 27 Oct 2026 09:46:20 -0400 Subject: [PATCH] settings: treat an unversioned settings file as the current format fixes #3956 port 2.0 --- quickshell/Common/SettingsData.qml | 2 +- quickshell/Common/settings/SettingsStore.js | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) 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;