aboutsummaryrefslogtreecommitdiffstats
path: root/docs/refactoring-search.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/refactoring-search.md')
-rw-r--r--docs/refactoring-search.md10
1 files changed, 8 insertions, 2 deletions
diff --git a/docs/refactoring-search.md b/docs/refactoring-search.md
index 2210397..d39bd36 100644
--- a/docs/refactoring-search.md
+++ b/docs/refactoring-search.md
@@ -1,6 +1,7 @@
# Refactor: one file, one entry — merging duplicate sources in the Search view
-> Status: **phases 1–8 built** (2026-09-02), 9 (the doc pass) outstanding.
+> Status: **complete** (2026-09-02) — all nine phases landed. This stays as
+> the decision record.
> Branch `feat/search-source-merge`. Videos, Music and Photos are merged,
> failover is in, and a card with several sources says `N sources` instead of a
> group name. Confirmed live for Videos on 2026-09-02: one card per film,
@@ -335,6 +336,11 @@ be easy to ship and hard to notice.
override lands on whichever node was picked.
7. **`cacheGroupIndex`.** The IndexedDB cache is per group and stores raw index
entries. Merged entries must never be written to it.
+8. **`webapp.py`'s `_ASSETS`.** A new static file missing from it changes
+ without moving the asset URL, so a browser that cached the page keeps the
+ old copy — and nothing errors. `source-merge.js` shipped missing from it;
+ caught afterwards, and `test_every_static_script_participates_in_the_fingerprint`
+ now holds the list to every `.js` in `static/` so the next one cannot.
---
@@ -352,7 +358,7 @@ Each phase is independently testable and leaves the tree working.
| 6 ✅ | Same for Photos | `search-page.js` |
| 7 ✅ | `downGroups` and failover | `search-page.js` |
| 8 ✅ | `SourceTag` at the four display sites; `search.n_sources` in ten catalogues | `group-name.js`, `video-app.js`, `music-app.js`, `photos-app.js`, `locales/*.js` |
-| 9 | Docs: `mediacenter.md` §10, `musicbay.md`, `photos.md`, `apps.md` if the props contract moves | `docs/` |
+| 9 ✅ | Docs: `mediacenter.md` §10.6, `musicbay.md` §9b, `photos.md` §10b, `apps.md` §2b + checklist step 5 | `docs/` |
Phase 4 alone was enough to confirm the reported bug is gone; phases 5–8 are the
same mechanism applied outward.