Repository navigation
Conversation
Contributor
|
Thanks for opening a PR, but no frontend changes are being reviewed or merged at this time due to the ongoing React rewrite. If you want to check if this issue still affects the new React client, you can test and open a PR there. https://github.com/audiobookshelf/audiobookshelf-client-react |
Author
|
Will do. Thanks! |
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.
Brief summary
A paused web player can start playing by itself when another device syncs progress on the same book.
It only happens when the web player's session has already been dropped on the server.
Which issue is fixed?
Fixes #4632
In-depth Description
When another device syncs progress, the paused web player seeks to that position, and since its session no longer exists on the server, the audio request 404s and triggers the player's error handler.
When that happens, the web player falls back to a new stream, and it was reusing a "play when ready" flag left over from the last time you pressed Play. So a paused player that hit an error started playing again.
The fix sets that flag in
playerError()from what the player was doing at the moment of the error. If it was playing, or about to play, the fallback plays. If it was paused, it stays paused.At least two other people are knowingly impacted via #4632.
This has hit me twice at least (since I usually leave my home PC on with a book session paused) and I was finally able to diagnose the issue the second time it happened.
How have you tested this?
Steps to reproduce issue
Tested in 2.37.1 with Chrome.
(The position in step 3 needs to be well past what the browser has buffered. A jump of only a few minutes can be served from the buffer, and then nothing happens.)
Testing
I performed the above steps with the fix applied, and the tab didn't confusingly unpause the book.
Also normal playback worked fine.