From e3dcf6989fef1358c536a60c0fabeb6e27740bfc Mon Sep 17 00:00:00 2001 From: Douwe Osinga Date: Wed, 11 Mar 2026 08:58:02 -0400 Subject: [PATCH] Catch and return default (#7804) Co-authored-by: Douwe Osinga --- ui/desktop/src/main.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ui/desktop/src/main.ts b/ui/desktop/src/main.ts index b18cd76ede..ca9355b165 100644 --- a/ui/desktop/src/main.ts +++ b/ui/desktop/src/main.ts @@ -62,9 +62,14 @@ const SETTINGS_FILE = path.join(app.getPath('userData'), 'settings.json'); function getSettings(): Settings { if (fsSync.existsSync(SETTINGS_FILE)) { - const data = fsSync.readFileSync(SETTINGS_FILE, 'utf8'); - const stored = JSON.parse(data) as Partial; - // Deep merge to ensure nested objects get their defaults too + let stored: Partial; + try { + const data = fsSync.readFileSync(SETTINGS_FILE, 'utf8'); + stored = JSON.parse(data) as Partial; + } catch (err) { + console.error('Failed to read settings.json, using defaults:', err); + return defaultSettings; + } return { ...defaultSettings, ...stored,