The LifecycleEventObserver was only capturing playWhenReady at the
time the effect ran. When ON_START fired later, it would use the old
value and resume playback even if the user had paused before leaving
the app.
Use rememberUpdatedState so we always read the live value.
Fixes#1080
- Rewrote all user-facing French strings from informal address (tu/ton/ta/
tes, 2nd-person-singular imperatives) to formal vouvoiement (vous/votre/
vos, 2nd-person-plural imperatives). 171 strings updated.
- Past participles and adjectives kept singular (politeness "vous"):
"Vous avez ete deconnecte", "Vous etes seul responsable".
- Setting behavior descriptions written in 3rd person ("Affiche les
badges...") left unchanged: they describe the option, not the user.
- Key parity unchanged, placeholders (%1$s, \n), HTML entities and French
typography (apostrophes ', non-breaking spaces) preserved.
- Add AudioLanguageOption.ORIGINAL to preferred audio language picker
(primary and secondary) with hint 'Requires TMDB enrichment'
- Resolve content original language from meta.language with fallback
to country-based inference (countryToLanguageCode mapping)
- Pass contentLanguage through PlayerLaunch, PlayerScreen, and
StreamLinkCache for reuse on subsequent playback sessions
- Add Device Language as default app language option (resets to system
locale instead of forcing English)
- Add all missing Polish translations (417 strings)
- Add LanguageSelectionOption.description support in settings dialogs
Long-press menu was blocked for debrid instant streams because
playableDirectUrl is null until resolved. Now the menu opens for
any stream that has a direct URL or is a debrid candidate.
Download and Copy Link actions now resolve the debrid stream URL
via DirectDebridPlaybackResolver before enqueuing/copying, matching
the same flow used by the player.
Store CatalogRoute.targetKind as CatalogTargetKind.name and convert it back in toCatalogTarget(). This keeps the typed route argument on a primitive String boundary so Compose Navigation does not require a custom enum NavType during graph construction.