Repository navigation
fix: autoplay intent survives player recreation; timeout misclassification - #17
Merged
Merged
Conversation
…ation Autoplay landed only intermittently: useVideoPlayer recreates the whole native player when the stream source lands (null → url), and the play() fired by the effect right after that recreation can race the native prepare and be silently dropped — the video then sits paused forever (reproduced on Android 8.1: paused overlay, no buffering, manual play starts instantly). - The play intent now rides player construction (setup callback runs on every recreation), so it exists before the prepare race begins. - A statusChange retry re-asserts autoplay once the player reports readyToPlay — covering prepare paths that drop early commands. - Manual pause (while focused) beats autoplay: pauses arriving with focus already lost are the blur cleanup, not the user. Also: RN-Android aborts surface as "Fetch request has been canceled" (no "abort" wording) and were misclassified as offline (probe fired, message wrong). Now recognized as timeouts.
ghostcoder42
force-pushed
the
fix/autoplay-intent-race
branch
from
October 9, 2026 07:23
90c59b7 to
b816d85
Compare
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.
Autoplay landed only intermittently: useVideoPlayer recreates the whole native player when the stream source lands (null → url), and the play() fired by the effect right after that recreation can race the native prepare and be silently dropped — the video then sits paused forever (reproduced on Android 8.1: paused overlay, no buffering, manual play starts instantly).
Also: RN-Android aborts surface as "Fetch request has been canceled" (no "abort" wording) and were misclassified as offline (probe fired, message wrong). Now recognized as timeouts.