diff --git a/server/lib/settings/index.ts b/server/lib/settings/index.ts index 70aa360efa..3288761592 100644 --- a/server/lib/settings/index.ts +++ b/server/lib/settings/index.ts @@ -811,16 +811,22 @@ class Settings { await this.save(); } + let change = false; if (data && !raw) { const parsedJson = JSON.parse(data); const migratedData = await runMigrations(parsedJson, SETTINGS_PATH); - this.data = mergeSettings(this.data, migratedData); + const merged = mergeSettings(this.data, migratedData); + + if (JSON.stringify(merged) !== JSON.stringify(migratedData)) { + change = true; + } + + this.data = merged; } else if (data) { this.data = JSON.parse(data); } // generate keys and ids if it's missing - let change = false; if (!this.data.main.apiKey) { this.data.main.apiKey = this.generateApiKey(); change = true;