You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
Open two tabs with splash screens
Play a file
Skip a track
Track will skip on one splash screen, but not the other
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:
If video is playing and nowplaying.is_paused == false, then pause the track
If volume does not match, then set the client volume to match
If video is playing and now_playing is null, then stop the video
I 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:
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.
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: