fix(state): surface localStorage save failures instead of silent loss (#4)

saveState now logs a console.warn on failure and alerts the user once per
session (storage full/unavailable) so they can export their data and avoid
silent data loss.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ferdi2goandClaude Opus 4.8 committed 2026-06-03 12:21:23 +00:00
1 parent 065876ced4
commit 7b53618921
1 file changed
+10 -2
+10 -2
View File
@@ -31,6 +31,7 @@ try {
}
// Call after any state mutation to persist automatically
let storageWarned = false;
export function saveState() {
try {
localStorage.setItem(STORAGE_KEY, JSON.stringify({
@@ -39,8 +40,15 @@ export function saveState() {
history: state.history,
settings: state.settings
}));
} catch {
// Storage full or unavailable — silently ignore
} catch (e) {
// Storage full or unavailable — warn once so the user can react (export data)
console.warn('Speichern in localStorage fehlgeschlagen:', e);
if (!storageWarned) {
storageWarned = true;
alert('Achtung: Änderungen konnten nicht gespeichert werden ' +
'(Speicher voll oder nicht verfügbar). Bitte exportiere deine Daten ' +
'als JSON, um Datenverlust zu vermeiden.');
}
}
}