fix: guard against malformed stored settings (crash → blank window); add ErrorBoundary to surface render errors

This commit is contained in:
Hermes Agent committed 2026-09-19 16:36:24 +02:00
1 parent bfd3638093
commit 895b254c2a
3 files changed
+36 -7

No files matched your search

+9 -3
View File
@@ -52,12 +52,18 @@ export function createApinexProvider (): ProviderConfig {
}
export async function loadSettings (): Promise<Settings> {
const defaults = defaultSettings()
try {
const stored = await figma.clientStorage.getAsync(SETTINGS_KEY)
if (stored == null || stored.version !== 1) return defaultSettings()
return stored as Settings
if (stored == null || stored.version !== 1) return defaults
const merged: Settings = { ...defaults, ...(stored as Settings) }
if (!Array.isArray(merged.providers) || merged.providers.length === 0) {
merged.providers = defaults.providers
merged.activeProviderId = defaults.providers[0].id
}
return merged
} catch (e) {
return defaultSettings()
return defaults
}
}