diff options
Diffstat (limited to 'docs/refactoring-search.md')
| -rw-r--r-- | docs/refactoring-search.md | 10 |
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. |