UniversalMediaServer / UniversalMediaServer/api

TMDB returns English series responses instead of requested language

Open
#1,217 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.