read_media details resolves wrong TV series; provider ignored (tvdb vs tmdb both return TMDB result) #1

Closed
opened 2026-09-19 06:58:51 +01:00 by gronod · 0 comments
Owner

Observed

read_media with action: "details" returns the wrong series for a TVDB id, for both provider values.

Reproduction against a live Ombi instance:

  1. read_search {action: "text", media: "tv", query: "Button Moon"} returns Button Moon (1980), identifiers tmdb:75150, imdb:tt0227882, available:false.
  2. read_media {action: "details", target: {media: "tv", provider: "tvdb", id: 75150}} returns Passfire: The Series (2017), not Button Moon.
  3. read_media {action: "details", target: {media: "tv", provider: "tmdb", id: 75150}} returns the same Passfire result — identical payload to the tvdb call.

Button Moon's real TVDB id is 75150 (thetvdb.com/series/button-moon); its TMDB id differs. Passfire: The Series is presumably TMDB 75150.

Expected

  • provider: "tvdb", id: 75150 → Button Moon with its season/episode availability.
  • provider: "tmdb" should either resolve via /api/v2/Search/tv/moviedb/{id} to a different result than the tvdb path, or fail cleanly if the upstream route doesn't exist.

Hypotheses

  • The deployed binary may predate the provider split in internal/tools/media.go (tvdb → /api/v2/Search/tv/{id}, tmdb → /api/v2/Search/tv/moviedb/{id}), so both calls hit the same route.
  • Or Ombi's /api/v2/Search/tv/moviedb/{id} doesn't exist / isn't honoured upstream and both routes resolve in the same (TMDB) namespace — in which case the identifier Ombi emits in tv search results (theMovieDbId field carrying the TVDB id, a known Ombi quirk) is being labelled tmdb in our projection, and there is no valid way to fetch TV details by the id read_search returns.

Suggested investigation

  • Confirm which upstream routes Ombi v4 actually exposes for TV details (tvdb vs moviedb) in the schema ledger; verify the deployed server's version.
  • Check that read_search tv results label the id namespace correctly (tvdb vs tmdb).
  • Add an integration/live test asserting details returns the same title as search for a known series.
## Observed `read_media` with `action: "details"` returns the wrong series for a TVDB id, for both `provider` values. Reproduction against a live Ombi instance: 1. `read_search {action: "text", media: "tv", query: "Button Moon"}` returns Button Moon (1980), identifiers `tmdb:75150`, `imdb:tt0227882`, `available:false`. 2. `read_media {action: "details", target: {media: "tv", provider: "tvdb", id: 75150}}` returns **Passfire: The Series** (2017), not Button Moon. 3. `read_media {action: "details", target: {media: "tv", provider: "tmdb", id: 75150}}` returns the same Passfire result — identical payload to the tvdb call. Button Moon's real TVDB id is 75150 (thetvdb.com/series/button-moon); its TMDB id differs. Passfire: The Series is presumably TMDB 75150. ## Expected - `provider: "tvdb", id: 75150` → Button Moon with its season/episode availability. - `provider: "tmdb"` should either resolve via `/api/v2/Search/tv/moviedb/{id}` to a *different* result than the tvdb path, or fail cleanly if the upstream route doesn't exist. ## Hypotheses - The deployed binary may predate the provider split in `internal/tools/media.go` (`tvdb` → `/api/v2/Search/tv/{id}`, `tmdb` → `/api/v2/Search/tv/moviedb/{id}`), so both calls hit the same route. - Or Ombi's `/api/v2/Search/tv/moviedb/{id}` doesn't exist / isn't honoured upstream and both routes resolve in the same (TMDB) namespace — in which case the identifier Ombi emits in tv search results (`theMovieDbId` field carrying the TVDB id, a known Ombi quirk) is being labelled `tmdb` in our projection, and there is no valid way to fetch TV details by the id `read_search` returns. ## Suggested investigation - Confirm which upstream routes Ombi v4 actually exposes for TV details (tvdb vs moviedb) in the schema ledger; verify the deployed server's version. - Check that `read_search` tv results label the id namespace correctly (tvdb vs tmdb). - Add an integration/live test asserting `details` returns the same title as `search` for a known series.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gronod/ombi-mcp#1