UniversalMediaServer / UniversalMediaServer/api
TMDB returns English series responses instead of requested language
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 12
- Forks
- 3
- Avg merge
- 16d 31m
- Merged PRs (30d)
- 6
Description
It seems that sometimes TMDB is returning English responses instead of the requested language.
This is based on these two test runs of the same code:
https://github.com/UniversalMediaServer/api/actions/runs/4726660979/jobs/8386466092?pr=1182
https://github.com/UniversalMediaServer/api/actions/runs/4726660652/jobs/8386465584?pr=1182
search the logs for tv tmdbData 1 and you'll see one of them received an English result, and one received a French result. The French result is the correct one.
Note that we have fixed this test flakiness now by mocking the response in https://github.com/UniversalMediaServer/api/pull/1182 but in production the bug will still be happening.
If we can confirm it more, maybe we should report the bug to TMDB. It's possible that it's not a bug with the TMDB service itself though, like maybe network caching or a fallback in the third-party Node library code. Those things should be ruled out before reporting to them. It's worth noting that I can't reproduce the failure at all locally, even when I ran it hundreds of times in a loop.
You can restore the unmocked behaviour for debugging this by removing the TMDB_API_KEY=foo from the test:mocks script in package.json
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the TMDB request path and the test:mocks script in package.json; remove TMDB_API_KEY=foo to restore the unmocked behavior and reproduce the two linked CI runs. Compare the responses while checking for network caching or fallback behavior in the third-party Node library. Done means identifying the source of the incorrect language response or gathering enough evidence to report it to TMDB.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nodejs, typescript
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100