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,