From f5de4749db64d52ebdedb2dc7ca78ba8dbcbf27e Mon Sep 17 00:00:00 2001 From: Gemini Agent Date: Sun, 18 Jan 2026 01:53:34 +0000 Subject: [PATCH] Fix localStorage to merge with defaults for new fields Old saved settings were missing new edgeUrl field, causing Edge TTS to fail. Now merges stored values with defaults so new fields are included. Co-Authored-By: Claude Opus 4.5 --- src/hooks/useLocalStorage.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hooks/useLocalStorage.ts b/src/hooks/useLocalStorage.ts index 3ec056d..766f9fd 100644 --- a/src/hooks/useLocalStorage.ts +++ b/src/hooks/useLocalStorage.ts @@ -10,13 +10,15 @@ export function useLocalStorage(key: string, initialValue: T): [T, (value: T try { const item = window.localStorage.getItem(key); if (item) { - setStoredValue(JSON.parse(item)); + // Merge stored value with defaults to handle new fields + const parsed = JSON.parse(item); + setStoredValue({ ...initialValue, ...parsed }); } } catch (error) { console.error(`Error reading localStorage key "${key}":`, error); } setIsHydrated(true); - }, [key]); + }, [key, initialValue]); const setValue = (value: T | ((prev: T) => T)) => { try {