diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/mediacenter.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/docs/mediacenter.md b/docs/mediacenter.md index 0df115b..3f70112 100644 --- a/docs/mediacenter.md +++ b/docs/mediacenter.md @@ -743,6 +743,33 @@ centralization was for (one computation, reused by every member). | ~~V6~~ | ~~Two folders of the same show, named by different release groups, can produce two separate poster-grid cards~~ | **Closed, 2026-08-24.** Rather than fuzzy title matching (real design decision, still deferred), `PosterGrid` now merges raw show-groups client-side once each group's TMDB lookup resolves to the same confident `tmdb_id` (`onMetaResolved` reports each `PosterCard`'s resolved meta upward; a `useMemo` groups by id, combining episodes/seasons into one card). This only merges what TMDB already agrees is one show — a genuinely unmatched show still gets its own card, which is correct. Confirmed live: `OVNIs.S01...`/`Ovnis-S01...` now render as a single "OVNI(s)" card with both seasons | | ~~V7~~ | ~~A show's automatic TMDB match can be wrong at the show level (not just mis-ranked locally), and a wrong match's `overview` can read as scoped to one season~~ | **Closed, 2026-08-24 — §5.7.** Per-season tabs (own `overview`/`air_date`, falling back to the show-level text when empty) plus an operator-only "Fix match…" search-and-correct affordance, applied to every file sharing the resolved `display_title`. Confirmed live on the operator's real "War of the Worlds" 3-season show, itself matched to a wrong season-3-specific 1988 promotional TMDB entry: season tabs correctly filtered episodes and swapped in each season's own air_date, and the search overlay returned real TMDB candidates for a manual correction | +### 10.1 Movie-matching bugs — a batch found live (2026-08-29) + +Several wrong poster-grid matches on a real library: a two-volume film's second part +matched the first; a numbered sequel matched a same-year making-of documentary (TMDB's +real entry uses a Roman numeral); two entries of one franchise matched a single early +entry whose *localized* TMDB title is the franchise name, and a third matched nothing. +One mechanism: `_tmdb_search` returned the first candidate query whose title-similarity +ratio merely cleared 0.6, before `alternative_title` / the Roman-numeral variant was +tried. **Fixed** (branch `fix/videos-tmdb-matching`): scored retry ladder + year-exact +rescue for a sub-0.6 top hit (§3.3's "trust TMDB's own ranking" still holds per query — +no local re-rank of any one result list); `volume`/`part` folded into `display_title`; +movie "Fix match" applied to the one file, not the whole `display_title` group; +`ops.rematch_video` + a rename now drop stale cached matches (`media_cache.tmdb_override` +shields manual corrections); the movie detail modal shows the source filename + resolved +TMDB id, and an unmatched poster gets a badge. + +**Still open, noted so they are not lost (all found while fixing the above):** + +| # | Item | Severity | +|---|---|---| +| V8 | The **TV/show branch** of `_tmdb_search` still returns the first candidate over 0.6 — the same shape just fixed for movies. §5.7's own wrong show-level match was this class; its parade was Fix match + season tabs, not the search. Give it the scored ladder too | medium | +| V9 | `_best_match` still trusts `results[0]` per query unconditionally. The movie fix works around it by trying more queries; if no competing query beats a wrong-but-high-ratio `results[0]`, it still wins. The originally-planned year-aware `_best_match` (mediacenter "C") would harden this — deferred: apply the year signal only when the #1 hit is already low-confidence | medium | +| V10 | `sequel_variants` is narrow: one trailing digit 2–9, arabic→roman only. No "Part One", "Chapitre 2", "10", roman→arabic | low | +| V11 | Extra TMDB calls in the 0.6–0.85 band: a film that used to match in one request now makes 2–4 before settling (then cached). Bounded, but real | low | +| V12 | Movies are not merged in the poster grid — a film present in 1080p + 720p shows as two cards (the `tmdb_id` merge in §V6 is show-only) | cosmetic | +| V13 | A per-card "re-match this one file" button in the SPA — `ops.rematch_video` is group-wide and CLI/loopback only; a per-card control needs a new signed op or MNP message. Fix match already covers targeted correction | low | + ## 11. Acceptance before shipping 1. Re-run the §3 validation (real TMDB calls, same corpus, same script |