fix(tvdb): resolve TVDB IDs from TMDB IDs via remote-id search - #3489
fix(tvdb): resolve TVDB IDs from TMDB IDs via remote-id search#3489fallenbagel wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe TVDB provider now resolves missing TVDB IDs from TMDB series IDs. It validates remote ID metadata, integrates the asynchronous lookup into TVDB methods, enriches returned shows, and adds coverage for successful and unsuccessful resolutions. ChangesTVDB ID resolution
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Tvdb
participant ExternalAPI
participant TVDB
Tvdb->>ExternalAPI: refresh authentication token
Tvdb->>TVDB: search remote ID by TMDB series ID
TVDB-->>Tvdb: candidate series
Tvdb->>TVDB: fetch extended remote IDs
TVDB-->>Tvdb: remote ID records
Tvdb-->>Tvdb: return unique TVDB series ID or null
Suggested reviewers: Merge Risk: ⚪ Minimal · up to Missing TVDB IDs can now be resolved from TMDB series IDs while invalid, ambiguous, and failed lookups safely retain the existing fallback behavior. The change is covered for the resolution success and failure paths and is ready to merge. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. A rabbit hops through IDs bright, Comment |
TheTVDB enrichment silently failed whenever TMDB has no external_ids.tvdb_id, because every entry point derives the ID from TMDB alone. Fall back to /search/remoteid, cross-checking each candidate series against its own remoteIds so a match in another source's ID space is not mistaken for a TMDB one, and populate external_ids.tvdb_id when resolution succeeds
5f14a99 to
deacfec
Compare
Description
When TMDB has no TVDB ID for a series, Seerr's TheTVDB integration quietly falls back to plain TMDB data. Every path that reaches TheTVDB works out the ID from TMDB alone, so the shows most likely to need better metadata are exactly the ones that never get it, and nothing surfaces that anything was skipped.
Seerr now asks TheTVDB directly which series carries that TMDB ID, and confirms the answer against that series' own record before trusting it, since the lookup will happily return a series that merely shares the number with another site's IDs. Shows that resolve this way get their TheTVDB metadata and stop prompting for a manual match.
How Has This Been Tested?
Screenshots / Logs (if applicable)
Checklist:
pnpm buildpnpm i18n:extractSummary by CodeRabbit