fix: timebar seeking snaps back after next episode on desktop#119
Open
prneut wants to merge 2 commits into
Open
fix: timebar seeking snaps back after next episode on desktop#119prneut wants to merge 2 commits into
prneut wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixed a bug where manual timeline seeking ("scrubbing") via the progress bar stops working and visually snaps back after loading a "Next Episode".
PR type
Why
When an episode transitions, the player state clears its
playerControllerreference to prepare for the new video. On Desktop, thePlatformPlayerSurfacereuses the native window but was only broadcastingonControllerReady(controller)during its initial launch. This left the UI with anullcontroller for all subsequent episodes, causing any seek actions to be silently ignored.Desktop scope
This fix is completely scoped to the Desktop implementation (
PlayerEngine.desktop.kt), specifically ensuring theonControllerReadyevent fires every time a new stream is attached, rather than just once.Issue or approval
Approved in #87
UI / behavior impact
Policy check
CONTRIBUTING.md.Scope boundaries
Intentionally limited to restoring the
onControllerReadycallback in the stream attachment loop so the UI receives the valid controller reference.Testing
Tested on Windows Desktop. Verified that skipping to the next episode and then clicking the time bar correctly scrubs the video instead of snapping back.
Screenshots / Video
Not a UI change.
Breaking changes
None.
Linked issues
Fixes #87