-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Handle concurrent splash screen connections #448
Comments
vicwomg
changed the title
[BUG] Handle concurrent splash screen connection states better
[BUG] Handle concurrent splash screen connections
Dec 28, 2024
vicwomg
added a commit
that referenced
this issue
Dec 28, 2024
vicwomg
added a commit
that referenced
this issue
Dec 28, 2024
Concurrent splash screens cause playback issues on one another. We can do better with synchronizing them. Probably not going to work miracles, the playback positions might be out of sync by up to 1 second. And weird stuff happens when opening/closing browsers mid-song. But at least they wont totally clobber the playback between the two like it currently does.
vicwomg
added a commit
that referenced
this issue
Jan 3, 2025
Concurrent splash screens cause playback issues on one another. We can do better with synchronizing them. Probably not going to work miracles, the playback positions might be out of sync by up to 1 second. And weird stuff happens when opening/closing browsers mid-song. But at least they wont totally clobber the playback between the two like it currently does.
Fixed in 1.8.0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
If multiple splash screens are open, they go out of sync with one another. This results in them messing up the playback state, and often causing premature skips
To Reproduce
Steps to reproduce the behavior:
Same goes with volume changes, pause/play.
Expected behavior
Both splash screens should be mostly in sync, within a reasonable time margin of a couple of seconds
Additional context
I propose we primarily use the now_playing object for synchronization. This will also eliminate the need for much of the
now_playing_command
handling, as the clients just react to the server state instead of the command coming from the server.We can keep a local version of this object on the splash screen js. If they are not equal (I believe we can use the hash value to determine this), then execute the necessary action to synchronize them.
Examples:
nowplaying.is_paused == false
, then pause the trackI believe that only skip and restart would be necessary to send over now_playing_command. Of these, I think restart might be the trickiest to implement.
The text was updated successfully, but these errors were encountered: