fix: final review — cached links keep their expiry; history removal sticks; saves flushed

- A link reused from the rehost cache keeps the expiry it was uploaded with, and
  links near expiry are uploaded again (a dead litterbox link could be filed).
- History saving moves into HistoryKeeper (tested): removing an entry or clearing
  the history cancels a pending save and stops tracking the series on screen;
  a pending edit is saved before a new search, before opening another entry and
  when the page is hidden; opening an entry no longer re-saves the current one.
- The "couldn't be saved" line sits outside the History list, so it shows even
  when the list is empty; a refused IndexedDB says history is off.
- Recently searched bands wrap their meta line instead of cutting the count.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas WintherandClaude Opus 5.5 committed 2026-10-15 11:45:48 +02:00
1 parent 1cf31b26cf
commit 0d4a1a61fa
8 files changed
+362 -68

No files matched your search

+4 -2
View File
@@ -255,7 +255,9 @@
.mbseed-app .mbseed-recent-remove:hover { background: var(--mb-ink); color: var(--mb-page); }
/* The list scrolls, so an outside ring would be clipped: draw it inside the row. */
.mbseed-app .mbseed-recent-open:focus-visible, .mbseed-app .mbseed-recent-remove:focus-visible { outline-offset: -3px; }
.mbseed-app .mbseed-recent .mbseed-line:empty { display: none; }
.mbseed-app .mbseed-recent-status { font-size: 12.5px; }
.mbseed-app .mbseed-recent-status:not(.is-error) { color: var(--mb-ink-2); }
.mbseed-app .mbseed-recent-status:empty { display: none; }
.mbseed-app .mbseed-recent > .is-quiet { justify-self: start; width: auto; margin-left: -5.5px; font-size: 12.5px; color: var(--mb-ink-2); }
/* ---------- empty state ---------- */
@@ -284,7 +286,7 @@
background: var(--mb-slip); border: 1px solid var(--mb-line); border-top: 3px solid var(--mb-ink);
}
.mbseed-app .mbseed-recent-band .mbseed-recent-title { font-size: 12px; }
.mbseed-app .mbseed-recent-band .mbseed-recent-meta { color: var(--mb-ink-2); }
.mbseed-app .mbseed-recent-band .mbseed-recent-meta { color: var(--mb-ink-2); white-space: normal; text-overflow: clip; }
/* ---------- review head ---------- */
.mbseed-app .mbseed-review-head {