From cd8095476722faf500929636b1c00587f76439dc Mon Sep 17 00:00:00 2001 From: Stan Grams Date: Sat, 21 Mar 2026 21:17:20 +0100 Subject: [PATCH] [fix](trx-frontend-http): refresh spectrum bookmark markers on edit and delete Co-Authored-By: Claude Opus 4.6 Signed-off-by: Stan Grams --- .../trx-frontend/trx-frontend-http/assets/web/app.js | 6 ++++-- .../trx-frontend-http/assets/web/plugins/bookmarks.js | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/app.js b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/app.js index dfedf0b..f1190bd 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/app.js +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/app.js @@ -9070,7 +9070,8 @@ function createBookmarkChip(bm, colorMap, options = {}) { function updateSideBookmarkStack(container, bookmarks, colorMap) { if (!container) return; - const nextKey = Array.isArray(bookmarks) ? bookmarks.map((bm) => bm.id).join(",") : ""; + const rev = typeof bmRevision !== "undefined" ? bmRevision : 0; + const nextKey = Array.isArray(bookmarks) ? `${rev}:${bookmarks.map((bm) => bm.id).join(",")}` : ""; if (!Array.isArray(bookmarks) || bookmarks.length === 0) { if (container.dataset.bmKey) { container.innerHTML = ""; @@ -9145,7 +9146,8 @@ function updateBookmarkAxis(range) { // Only rebuild DOM when the set of visible bookmarks changes. // Positions are always updated to handle pan/zoom smoothly. - const newKey = visBookmarks.map((b) => b.id).join(","); + const rev = typeof bmRevision !== "undefined" ? bmRevision : 0; + const newKey = `${rev}:${visBookmarks.map((b) => b.id).join(",")}`; if (axisEl.dataset.bmKey !== newKey) { axisEl.dataset.bmKey = newKey; axisEl.innerHTML = ""; diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/bookmarks.js b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/bookmarks.js index b02462e..cea5b68 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/bookmarks.js +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/bookmarks.js @@ -1,6 +1,7 @@ // --- Bookmarks Tab --- var bmList = []; +var bmRevision = 0; let bmFilteredList = []; let bmEditId = null; let bmCurrentPage = 1; @@ -47,6 +48,7 @@ async function bmFetch(categoryFilter) { console.error("Failed to fetch bookmarks:", e); bmList = []; } + bmRevision++; if (typeof window.syncBookmarkMapLocators === "function") { window.syncBookmarkMapLocators(bmList); }