From 392285058e1c502d67b875b49a667ee1e81267dc Mon Sep 17 00:00:00 2001 From: Memory <134070804+Memory2314@users.noreply.github.com> Date: Sun, 7 Dec 2025 13:53:06 +0800 Subject: [PATCH] fix: ensure all default config fields are present in config.yaml --- src/main/config/app.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/config/app.ts b/src/main/config/app.ts index c90216e..884b927 100644 --- a/src/main/config/app.ts +++ b/src/main/config/app.ts @@ -9,7 +9,13 @@ let appConfig: IAppConfig // config.yaml export async function getAppConfig(force = false): Promise { if (force || !appConfig) { const data = await readFile(appConfigPath(), 'utf-8') - appConfig = parse(data) || defaultConfig + const parsedConfig = parse(data) + const mergedConfig = deepMerge({ ...defaultConfig }, parsedConfig || {}) + if (JSON.stringify(mergedConfig) !== JSON.stringify(parsedConfig)) { + await writeFile(appConfigPath(), stringify(mergedConfig)) + } + + appConfig = mergedConfig } if (typeof appConfig !== 'object') appConfig = defaultConfig return appConfig