From 27b162176ae37ce7072a2cf9cdcd306f4fac802f Mon Sep 17 00:00:00 2001 From: tapframe <85391825+tapframe@users.noreply.github.com> Date: Mon, 6 Apr 2026 12:09:44 +0530 Subject: [PATCH] fix: reset episode stream state and hide panels on episode switch --- .../nuvio/app/features/player/PlayerScreen.kt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreen.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreen.kt index 256095ff8..9f2074a2b 100644 --- a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreen.kt @@ -546,6 +546,15 @@ fun PlayerScreen( fun switchToEpisodeStream(stream: StreamItem, episode: MetaVideo) { val url = stream.directPlaybackUrl ?: return + showNextEpisodeCard = false + showSourcesPanel = false + showEpisodesPanel = false + episodeStreamsPanelState = EpisodeStreamsPanelState() + nextEpisodeAutoPlayJob?.cancel() + nextEpisodeAutoPlaySearching = false + nextEpisodeAutoPlaySourceName = null + nextEpisodeAutoPlayCountdown = null + PlayerStreamsRepository.clearEpisodeStreams() flushWatchProgress() val epVideoId = episode.id val epResumeVideoId = buildPlaybackVideoId( @@ -587,9 +596,6 @@ fun PlayerScreen( activeVideoId = episode.id activeInitialPositionMs = epResumePositionMs activeInitialProgressFraction = null - showEpisodesPanel = false - episodeStreamsPanelState = EpisodeStreamsPanelState() - PlayerStreamsRepository.clearEpisodeStreams() controlsVisible = true } @@ -718,6 +724,10 @@ fun PlayerScreen( previousIsPlaying = false preferredAudioSelectionApplied = false preferredSubtitleSelectionApplied = false + showSourcesPanel = false + showEpisodesPanel = false + episodeStreamsPanelState = EpisodeStreamsPanelState() + PlayerStreamsRepository.clearEpisodeStreams() SubtitleRepository.clear() WatchProgressRepository.ensureLoaded() }