UweTrottmann / SeriesGuide

Track your favorite TV shows and movies on Android devices.
https://seriesgui.de
Apache License 2.0
1.95k stars 400 forks source link

Translation of season sometimes switches back to English #807

Closed UweTrottmann closed 2 years ago

UweTrottmann commented 3 years ago

Describe the bug On occasion and for random shows and for one ore more seasons (episode data is fetched by season) data returned by TMDb is in English instead of an available translation. The issue typically disappears within a day (e.g. with the next request).

To Reproduce Use the app normally, shows update in the background.

Expected behavior Episode overviews of a whole season should not randomly change their language.

Smartphone (please complete the following information):

Additional context

UweTrottmann commented 3 years ago

Reported on TMDb forum: https://www.themoviedb.org/talk/60eeebdccf1afd0047172b85

UweTrottmann commented 3 years ago

Gotcha! Got a request returning English instead of German.

Request{method=GET, url=https://api.themoviedb.org/3/tv/48891/season/6?language=de&api_key=API_KEY}

Response{protocol=http/1.1, code=200, message=, url=https://api.themoviedb.org/3/tv/48891/season/6?language=de&api_key=API_KEY}
content-type: application/json;charset=utf-8
date: Fri, 16 Jul 2021 11:12:09 GMT
server: openresty
access-control-allow-origin: *
access-control-allow-methods: GET, HEAD, POST, PUT, DELETE, OPTIONS
access-control-expose-headers: ETag, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After, Content-Length, Content-Range
cache-control: public, max-age=28800
x-memc: HIT
x-memc-key: b04e30571b7e80cb82b972ba31a370c0d4c9b826
x-memc-age: 5360
x-memc-expires: 9308
etag: W/"6fd128be5675fc1be6b727b53c02c78b"
vary: Accept-Encoding
x-cache: Hit from cloudfront
via: 1.1 560d8d35213ac925f8d05c5730db1582.cloudfront.net (CloudFront)
x-amz-cf-pop: FRA6-C1
x-amz-cf-id: f_Y7vPY1URbrHAIuknku3-sniLAjxj3yEHYHp9BrTyGGwq925oF-cw==
age: 13633

Running request from dev machine returns correct data, but also from different cache server:

content-type: application/json;charset=utf-8
date: Fri, 16 Jul 2021 15:00:45 GMT
server: openresty
access-control-allow-origin: *
access-control-allow-methods: GET, HEAD, POST, PUT, DELETE, OPTIONS
access-control-expose-headers: ETag, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After, Content-Length, Content-Range
cache-control: public, max-age=28800
x-memc: HIT
x-memc-key: b04e30571b7e80cb82b972ba31a370c0d4c9b826
x-memc-age: 3659
x-memc-expires: 13337
etag: W/"48e5b2c7d81540fb3e87ea625af28baf"
content-encoding: gzip
vary: Accept-Encoding
x-cache: Miss from cloudfront
via: 1.1 507b5edb20d0e1a0b73c8687f53defa9.cloudfront.net (CloudFront)
x-amz-cf-pop: FRA6-C1
x-amz-cf-id: hPwC0IF5ADtRo0-7HsnfCtSXb1OZB6ABdsjVl9J_SD21MtaezX0g2w==
unitb-ore commented 3 years ago

Oh, wow! And what happens when using "de_DE" (or was it "de-DE"?) instead of "de", as someone suggested?

UweTrottmann commented 3 years ago

No, both codes are supported as indicated by the API docs. It shouldn't matter.

Headers of a network request:

Host: api.themoviedb.org
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/4.9.1
If-None-Match: W/"6fd128be5675fc1be6b727b53c02c78b"
UweTrottmann commented 2 years ago

I'll switch to using language + region tags, also unifying them for movies and shows as both are provided by TMDB now.

This should also solve #743.

UweTrottmann commented 2 years ago

873 should fix this, assuming that using de-DE instead of de will help.

unitb-ore commented 2 years ago

Now SeriesGuide shows "Episode" as the episode title for ALL episodes of ALL seasons of ALL series. :-(

EDIT (one day later): Now it works again -- with the same app version.

UweTrottmann commented 2 years ago

Actually, not shipped this, yet. Probably closed this out of habbit.

UweTrottmann commented 2 years ago

Will be released with 65.0.1.

unitb-ore commented 2 years ago

@UweTrottmann : Komisches Verhalten: Ich habe gerade die Serie "Bosch" (60585) in der App geöffnet und bin in Staffel 2 rein. Dort sah ich die deutschen Episodentitel. Nach einem Moment wechselten sie auf Englisch. Hier griff also im Hintergrund die Aktualisierung nach dem Reingehen in die Serie bzw. Staffel. Soweit verständlich. Wenn ich allerdings die Episoden-Infos via API abrufe, dann erhalte ich im gleichen Moment die korrekten deutschen Texte: https://api.themoviedb.org/3/tv/60585/season/2?language=de&api_key=...

Wie kann das sein? Nutzt die App eine andere API-URL?

Ansonsten bin ich schon auf v65.0.1 gespannt.

UweTrottmann commented 2 years ago

Ansonsten bin ich schon auf v65.0.1 gespannt.

Also betrifft das obige noch die alte Version 64 und ist hinfällig? Die neue Version ist in den nächsten Stunden für alle Nutzer verfügbar.

unitb-ore commented 2 years ago

Ja, das betrifft die aktuelle Version, also v64(.0.7).

(Ich hab jetzt die v65.0.5 drauf. Vielen Dank für die Anpassung, ich werde mal drauf achten, ob das Problem noch auftritt.)

unitb-ore commented 1 year ago

Kein Problem mehr seit v65. :) Lieben Dank!