From 733e2db3c45b5800aaca861a2ed3d97f14f2ccf5 Mon Sep 17 00:00:00 2001 From: Vibe Nuage Agent Date: Thu, 4 Jun 2026 16:23:53 +0000 Subject: [PATCH] fix: Prevent data loss when connecting to Nextcloud for the first time - Load existing data from localStorage before switching to Nextcloud - This prevents existing teas and entries from being overwritten with empty arrays - When enabling Nextcloud sync, existing local data is preserved and uploaded Co-authored-by: trevor1969 --- app.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/app.js b/app.js index 4ce1aae..8e770a6 100644 --- a/app.js +++ b/app.js @@ -778,6 +778,30 @@ class TeeTracker { return; } + // Load existing data from localStorage before switching to Nextcloud + // This prevents data loss when connecting to Nextcloud for the first time + const existingTeas = localStorage.getItem(STORAGE_KEY_TEAS); + const existingEntries = localStorage.getItem(STORAGE_KEY_ENTRIES); + + if (existingTeas) { + try { + this.teas = JSON.parse(existingTeas).map(tea => ({ + ...tea, + organic: tea.organic !== undefined ? tea.organic : false + })); + } catch (error) { + console.error('Error loading existing teas:', error); + } + } + + if (existingEntries) { + try { + this.entries = JSON.parse(existingEntries); + } catch (error) { + console.error('Error loading existing entries:', error); + } + } + // Save config WITHOUT password for security // Password will be requested each time or stored in sessionStorage const config = { baseUrl: url, username, path };