From e228b2bbde17068c6daedba362ecf48cce810753 Mon Sep 17 00:00:00 2001 From: posimai Date: Sun, 22 Mar 2026 23:38:02 +0900 Subject: [PATCH] fix: auto-merge new apps from roadmap.json into localStorage on load --- index.html | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index bad515e..b1bbe6f 100644 --- a/index.html +++ b/index.html @@ -851,7 +851,24 @@ let appSearch = ''; async function loadData(forceFile = false) { if (!forceFile) { const raw = localStorage.getItem(STORAGE_KEY); - if (raw) { try { data = JSON.parse(raw); return; } catch (_) {} } + if (raw) { + try { + data = JSON.parse(raw); + // Merge any new apps added to roadmap.json that aren't in localStorage yet + const res = await fetch('/roadmap.json'); + const fresh = await res.json(); + const existingIds = new Set(data.apps.map(a => a.id)); + let changed = false; + for (const app of fresh.apps) { + if (!existingIds.has(app.id)) { + data.apps.push(app); + changed = true; + } + } + if (changed) persist(); + return; + } catch (_) {} + } } const res = await fetch('/roadmap.json'); data = await res.json();