From 1e1bc24f807ca93dc4dbc5813696a27f261eef8c Mon Sep 17 00:00:00 2001 From: Val Alexander Date: Tue, 17 Mar 2026 23:14:06 -0500 Subject: [PATCH] Enhance settings persistence: add error handling for storage operations to ensure in-memory updates are applied even when storage quota is exceeded or restricted. --- ui/src/ui/storage.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ui/src/ui/storage.ts b/ui/src/ui/storage.ts index c3c64efc95a..20997b6fec3 100644 --- a/ui/src/ui/storage.ts +++ b/ui/src/ui/storage.ts @@ -319,8 +319,11 @@ function persistSettings(next: UiSettings) { ...(next.locale ? { locale: next.locale } : {}), }; const serialized = JSON.stringify(persisted); - storage?.setItem(scopedKey, serialized); - // Keep the legacy unscoped key in sync for older readers and migration tests, - // but never include the session token in persistent storage. - storage?.setItem(LEGACY_SETTINGS_KEY, serialized); + try { + storage?.setItem(scopedKey, serialized); + storage?.setItem(LEGACY_SETTINGS_KEY, serialized); + } catch { + // best-effort — quota exceeded or security restrictions should not + // prevent in-memory settings and visual updates from being applied + } }