NuvioStreaming/composeApp/src
Stéphane 6e84b3ac36 fix(tmdb): localize collection part artwork via /images endpoint
TMDB's `collection/{id}?language=fr` returns one default `poster_path` /
`backdrop_path` per part — almost always the English-favored asset
regardless of the language query param. The only way to actually get
artwork in the user's language is to call
`/movie/{id}/images?include_image_language=fr,null,en` separately and
pick the best localized poster/backdrop.

Two consumers were affected:

- `TmdbCollectionSourceResolver.resolveCollection` — Collection-folder
  rows on home (user-defined "Star Wars Saga", "Marvel", etc.) showed
  English posters even when the app's TMDB language is `fr`.
- `TmdbMetadataService.fetchCollection` — the "Saga" / "Belongs to
  collection" row on movie detail pages had the same problem.

Both now fan out one parallel `/images` call per part, ranked through the
existing `selectBestLocalizedImagePath` helper (already used for logos),
and fall back to `part.posterPath` / `part.backdropPath` only when no
localized image is available.

The new helper `TmdbMetadataService.fetchLocalizedArtwork()` is shared
and cached per `(tmdbId, mediaType, language)`. For English locales the
extra call is skipped — the default poster path is already English-favored.

Mirrors the equivalent fix in NuvioTV (the `fetchMovieCollection` path
already does this; `resolveCollection` did not).
2026-05-13 19:33:48 +02:00
..
androidFull feat: support for external player 2026-05-13 13:27:12 +05:30
androidMain Merge branch 'NuvioMedia:cmp-rewrite' into indonesian-locale 2026-05-13 15:17:10 +07:00
androidPlaystore/kotlin/com/nuvio/app feat: in app updater 2026-04-19 01:15:39 +05:30
commonMain fix(tmdb): localize collection part artwork via /images endpoint 2026-05-13 19:33:48 +02:00
commonTest/kotlin/com/nuvio/app fix: update global index fallback logic 2026-05-12 12:38:30 +05:30
desktopMain/kotlin/com/nuvio/app feat: in app updater 2026-04-19 01:15:39 +05:30
fullCommonMain/kotlin/com/nuvio/app/features feat: add followRedirects support to httpRequestRaw and PluginRuntime 2026-05-06 20:11:29 +05:30
iosAppStore/kotlin/com/nuvio/app feat: in app updater 2026-04-19 01:15:39 +05:30
iosFull/kotlin/com/nuvio/app feat: in app updater 2026-04-19 01:15:39 +05:30
iosMain/kotlin/com/nuvio/app feat: support for external player 2026-05-13 13:27:12 +05:30
nativeInterop/cinterop feat(crypto): Implement cross-platform cryptographic functions and integrate with native interop 2026-04-02 12:52:57 +05:30