summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/mediacenter.md27
1 files changed, 13 insertions, 14 deletions
diff --git a/docs/mediacenter.md b/docs/mediacenter.md
index 3a6b733..7a712d9 100644
--- a/docs/mediacenter.md
+++ b/docs/mediacenter.md
@@ -317,7 +317,7 @@ real, currently-readable directory, or the request is refused immediately
signing prompt.
The client-side filter is a plain path-prefix test against `IndexEntry.path`
-(already root-relative, e.g. `"Séries/OVNI/S1/ep01.mkv"`) — no new index
+(already root-relative, e.g. `"Series/SomeShow/S1/ep01.mkv"`) — no new index
field, no server-side filtering; the node still sends the whole index, and
narrowing to the configured folder is exactly the same kind of view-over-
the-index work Files' own current-folder filter already does.
@@ -510,7 +510,7 @@ used *at all* used to live here too — moved per-group, below.)
**Added 2026-08-24**: a third field, `tmdb_language` (e.g. `"fr-FR"`),
travels the same way — one node-wide setting, not a per-viewer request.
Live against a real French-language show, the node's TMDB matches came back
-in English by default (`"UFOs"` for a show whose real title and audience
+in English by default (an English title for a show whose real title and audience
are French) purely because no language was ever requested; TMDB honors a
`language` parameter on every search/details call, so `tmdb.py`'s `_get()`
now attaches whichever language is configured (or none, TMDB's own English
@@ -740,8 +740,8 @@ centralization was for (one computation, reused by every member).
| V3 | TMDB metadata cache TTL (30 days proposed) | Needs no more than a config constant; not worth deciding without seeing real staleness complaints |
| V4 | Multi-audio-track / subtitle-track surfacing in the detail view | Out of scope for this pass — `video-player.js`'s existing track handling is unchanged; Videos only adds discovery and metadata |
| V5 | `Music`/`Photos` apps | Explicitly out of scope, per `apps.md` — this document only builds `video-app.js` and the shared node-side machinery (TMDB client, thumbnail cache, title parser) that a future audio/photo app could also reuse |
-| ~~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 |
+| ~~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: two release-group spellings of one show's season folders now render as a single 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 a real 3-season show, itself matched to a wrong season-specific 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)
@@ -788,16 +788,15 @@ file. A "this is a movie / a show" toggle would close that.
### 10.3 A whole saga matched to its first film (2026-08-30)
-Every `Star Wars Episode <N> - <subtitle>` file resolved to the 1977 original (TMDB id 11).
-Cause: `sequel_variants` stripped `Episode <N>` and offered the bare `Star Wars` as a
-candidate query — which matches the 1977 film's `original_title` at ratio 1.0, beating
-PASS 1's correct (but lower-ratio) hit. A franchise's bare name is very often a real,
-different film. **Fixed** (`fix/starwars-saga-match`): when a `Part`/`Episode`/… keyword is
-what carried the index, `sequel_variants` no longer emits the bare base — only
-`<base> <digit>` and `<base> <roman>`. Without a keyword (`Jurassic Park 3`) the bare base
-is still offered. Verified live: Star Wars I–VI now each resolve to their own episode;
-Jurassic Park / Kill Bill / Bond regressions all hold. V12's movie merge, reverted the
-same day, would have compounded this into one card for the saga.
+Every `<Saga> Episode <N> - <subtitle>` file in a numbered franchise resolved to the
+series' first entry. Cause: `sequel_variants` stripped `Episode <N>` and offered the bare
+`<Saga>` as a candidate query — which matches the first film's `original_title` at ratio
+1.0, beating PASS 1's correct (but lower-ratio) hit. A franchise's bare name is very often
+a real, different film. **Fixed** (`fix/saga-match`): when a `Part`/`Episode`/…
+keyword is what carried the index, `sequel_variants` no longer emits the bare base — only
+`<base> <digit>` and `<base> <roman>`. Without a keyword (`<Franchise> 3`) the bare base is
+still offered. Verified live against a numbered franchise's episodes plus the earlier
+numbered-sequel / two-part-film / franchise-subtitle regressions.
## 11. Acceptance before shipping