From 2a4d60812b3e312222bb0e3c3550c5d47ac84e7c Mon Sep 17 00:00:00 2001 From: Jogchum Koerts Date: Tue, 25 Mar 2025 15:35:33 +0100 Subject: [PATCH] Fix incorrect argument order in JSON merging functions Reversed the argument order in `customDefu` and JSON merging logic to ensure proper overwriting precedence. This ensures incoming settings correctly take priority over current settings where applicable. --- src/lib/load/load-settings.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/load/load-settings.ts b/src/lib/load/load-settings.ts index 07428c8..697ae2d 100644 --- a/src/lib/load/load-settings.ts +++ b/src/lib/load/load-settings.ts @@ -46,7 +46,7 @@ function mergeArrays(key: string, current: any[], incoming: any[]): any[] { function mergeJsonStrings(current: string, incoming: string): string { try { - return JSON.stringify(customDefu(JSON.parse(current), JSON.parse(incoming))) + return JSON.stringify(customDefu(JSON.parse(incoming), JSON.parse(current))) } catch { return incoming // If not valid JSON, return the incoming value } @@ -57,7 +57,7 @@ export default async function loadSettings(dir: string) { const settings = readFile('settings', dir) try { const currentSettings = await api.client.request(readSettings()) - const mergedSettings = customDefu(currentSettings, settings) as DirectusSettings + const mergedSettings = customDefu(settings, currentSettings) as DirectusSettings await api.client.request(updateSettings(mergedSettings)) } catch (error) { catchError(error)