read_media {action: "details", target: {media: "tv", provider: "tvdb", id: 75150}} returns Passfire: The Series (2017), not Button Moon.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Observed
read_mediawithaction: "details"returns the wrong series for a TVDB id, for bothprovidervalues.Reproduction against a live Ombi instance:
read_search {action: "text", media: "tv", query: "Button Moon"}returns Button Moon (1980), identifierstmdb:75150,imdb:tt0227882,available:false.read_media {action: "details", target: {media: "tv", provider: "tvdb", id: 75150}}returns Passfire: The Series (2017), not Button Moon.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
internal/tools/media.go(tvdb→/api/v2/Search/tv/{id},tmdb→/api/v2/Search/tv/moviedb/{id}), so both calls hit the same route./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 (theMovieDbIdfield carrying the TVDB id, a known Ombi quirk) is being labelledtmdbin our projection, and there is no valid way to fetch TV details by the idread_searchreturns.Suggested investigation
read_searchtv results label the id namespace correctly (tvdb vs tmdb).detailsreturns the same title assearchfor a known series.