Skip to content

[Issue]: User get stuck in a SyncPlay Group until you close the tab/client or force reload #8140

Open
@KaXaSA

Description

Temporary Solution

When you create the SyncPlay group, make sure you see the 'SyncPlay enabled' message on the screen, if you don't see it then reload the page and create the group again (repeat until you see the message), then everything should work as intended.


Maybe there is something wrong with the way Jellyfin deals with users/clients once they disconnect?
Probably related: #7140

IMPORTANT:

For a better/updated step-by-step of the issue, see: #8140 (comment)
It's a better, more reliable way to reproduce the issue than the described below.


Please describe your bug

There are actually 3 issues, but they are all probably related.

[First] - User get stuck in SyncPlay Group

  1. Start Jellyfin Server

  2. Open Web Client

  3. Log in with the primary user, I will call him: USER_AAA

  4. Click on SyncPlay to Create a Group

[21:34:48] [INF] [12] Emby.Server.Implementations.SyncPlay.Group: Session 13d76... created group 4591...

(everything worked fine, no problems yet)

  1. Sign Out

  1. Log in with secondary user, I will call him: USER_BBB
  2. Click on the SyncPlay icon, this is what I see:

'USER_AAA's group'
'USER_AAA'

and 2 options:

'Settings'
'Leave Group'

That group shouldn't exist, USER_AAA is not connected, and even if that was the case, then when I click on the SyncPlay icon as USER_BBB I should be seeing that 'Join a Group' menu.

  1. Clicking 'Leave Group':
    [21:38:50] [INF] [25] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was forbidden.

  2. Sign out


  1. Sign in with USER_AAA, same thing happens, you click 'Leave Group':
    [21:42:25] [INF] [17] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was forbidden.

To fix it, you have to close/restart the client (web tab/Jellyfin Media Player). Using Firefox/web client you can also CTRL + F5 (force reload)


[Second] - Group from a previous session get stuck(?)

If you watch something using SyncPlay (and everything works fine), then close the server, open it again tomorrow, SyncPlay doesn't work.
You can create a group, but if you click the SyncPlay icon again, you see the menu like this:
image
As if you are not the User who just created the group.

Other users can join, but nothing happens when you click on a video, because you are not really in the same group.

To fix it, you have to Sign Out > Sign In (CTRL + F5 probably works, not sure?)


[Third] - The SyncPlay menu looks fine, but SyncPlay only works after the other user sign out/close the client and sign in/open it again.

...
[INF] [10] Emby.Server.Implementations.SyncPlay.Group: Session "13d76..." created group "79b7...".
[INF] [34] Emby.Server.Implementations.SyncPlay.Group: Session "dcd07..." joined group "79b7...".
[INF] [30] Emby.Server.Implementations.SyncPlay.Group: Session "13d76..." requested Play in group "79b7..." that is Idle.
[INF] [30] Emby.Server.Implementations.SyncPlay.Group: Group "79b7..." switching from Idle to Waiting.
[INF] [32] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "USER_AAA". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
...
[INF] [38] Emby.Server.Implementations.SyncPlay.Group: Session "13d76..." requested Ready in group "79b7..." that is Waiting.
[INF] [38] MediaBrowser.Controller.SyncPlay.GroupStates.WaitingGroupState: Session "13d76..." will pause when ready in 0 seconds. Group "79b7..." is waiting for all ready events.
[INF] [32] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "USER_AAA". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
...
[INF] [27] Emby.Server.Implementations.SyncPlay.Group: Session "13d76..." requested Ready in group "79b7..." that is Waiting.
[INF] [27] MediaBrowser.Controller.SyncPlay.GroupStates.WaitingGroupState: Session "13d76..." will pause when ready in -0.0423592 seconds. Group "79b7..." is waiting for all ready events.
[INF] [30] Emby.Server.Implementations.SyncPlay.Group: Session "13d76..." requested Unpause in group "79b7..." that is Waiting.
[INF] [30] Emby.Server.Implementations.SyncPlay.Group: Group "79b7..." switching from Waiting to Playing.
[INF] [16] Emby.Server.Implementations.SyncPlay.Group: Session "13d76..." requested Ready in group "79b7..." that is Playing.
[INF] [28] Emby.Server.Implementations.SyncPlay.Group: Session "13d76..." requested Pause in group "79b7..." that is Playing.
[INF] [28] Emby.Server.Implementations.SyncPlay.Group: Group "79b7..." switching from Playing to Paused.
[INF] [33] Emby.Server.Implementations.SyncPlay.Group: Session "dcd07..." left group "79b7...".
[INF] [28] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "187.10..." closed
[INF] [32] Emby.Server.Implementations.SyncPlay.Group: Group "79b7..." switching from Paused to Waiting.
[INF] [32] Emby.Server.Implementations.SyncPlay.Group: Session "dcd07..." joined group "79b7...".
[INF] [20] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "USER_CCC". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
...

So I create a group, one other user joins.
I play any video, the video loads on my end and instantly pauses, the other user doesn't see anything.
I try to resume, the Video works for me, the other user still doesn't see anything.
Then he closes the web client and open it again, now the Video and SyncPlay works fine with no issues.


In 10.7.x SyncPlay was working fine, and I tested with a clean 10.8.1 installation (uninstalled and removed the jellyfin appdata folder), the issue still persists.


Jellyfin Version

Other

if other:

10.8.1
~
10.9.3

Environment

- OS: Windows 10/11 PRO
- Clients: Web and Jellyfin Media Player
- Browser: Firefox
- FFmpeg Version: 5.0.1-Jellyfin
- Playback Method:
- Hardware Acceleration:
- Reverse Proxy: Caddy
- Storage: local

Jellyfin logs

No response

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingsyncplayIssue specific to synchronous playback functionality

    Type

    No type

    Projects

    • Status

      Needs Testing

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions