Revert the reflective dynamic scheduling and duration-to-progress flags so playback falls back to Media3's default timing behavior while investigating rebuffering on smaller sources.
Add CompletableDeferred-based request coalescing to TmdbService and TmdbMetadataService. When multiple coroutines request the same TMDB lookup simultaneously, only the first one performs the actual network call while subsequent callers await its result.
- Add enrichmentInFlight/episodeInFlight maps to TmdbMetadataService
- Add imdbToTmdbInFlight/tmdbToImdbInFlight maps to TmdbService
- Handle CancellationException separately to propagate cancellation
- Clean up in-flight entries in finally blocks
- Add unit test verifying deduplication behavior
PlayerClockOverlay was incorrectly accessing currentPosition/duration from
PlayerUiState instead of PlaybackTimelineState. Use the existing
PlayerClockOverlayHost wrapper that properly collects playbackTimeline.
- Stabilize whole CW row after first load
- Wait for CW to emit something
- Don't cache failed requests
- Check hydrateMetadata before requesting it again
- Trakt Episode Mapper In-flight dedup
- Better clear Cache on Trakt Login and reload CW data form disk on profile change
- reduce amount of CW partial publish items
- add debounce to home vie catalog pipeline
- move rowBuildCache
- run independent syncs in parallel
- wait max up to 3s for catalogs to load
Extract inline AndroidView blocks into dedicated composable functions to eliminate unnecessary surface churn during Compose recomposition.
- Replace update{} side-effects with LaunchedEffect keyed on specific state parameters (keepScreenOn, aspectMode, subtitleStyle)
- Move attachMpvView lifecycle into DisposableEffect with proper keys
- Set ExoPlayer resizeMode once in factory instead of every update
- Preserve video size change and first frame listeners in ExoPlayerSurface
Removed trailing full stops from the subtitles of Plugins, Account, and Profiles settings pages to maintain consistency. This change affects both the English default and all translated string resource files.