Skip to content
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

Jellyfin server errors frequently reset the ZBR #308

Open
qrkourier opened this issue Jul 28, 2024 · 2 comments
Open

Jellyfin server errors frequently reset the ZBR #308

qrkourier opened this issue Jul 28, 2024 · 2 comments

Comments

@qrkourier
Copy link
Member

Some requests via ZBR like POST /media/Sessions/Capabilities/Full get a server error (500), but only through browZer. The server error seems to trigger the ZBR to re-bootstrap, but it doesn't fix whatever the problem is.

Here's a normal request body and response when not using browZer.

{
  "PlayableMediaTypes": [
    "Audio",
    "Video"
  ],
  "SupportedCommands": [
    "MoveUp",
    "MoveDown",
    "MoveLeft",
    "MoveRight",
    "PageUp",
    "PageDown",
    "PreviousLetter",
    "NextLetter",
    "ToggleOsd",
    "ToggleContextMenu",
    "Select",
    "Back",
    "SendKey",
    "SendString",
    "GoHome",
    "GoToSettings",
    "VolumeUp",
    "VolumeDown",
    "Mute",
    "Unmute",
    "ToggleMute",
    "SetVolume",
    "SetAudioStreamIndex",
    "SetSubtitleStreamIndex",
    "DisplayContent",
    "GoToSearch",
    "DisplayMessage",
    "SetRepeatMode",
    "SetShuffleQueue",
    "ChannelUp",
    "ChannelDown",
    "PlayMediaSource",
    "PlayTrailers"
  ],
  "SupportsPersistentIdentifier": false,
  "SupportsMediaControl": true
}

Response

HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Date: Sun, 28 Jul 2024 19:16:56 GMT
Server: Kestrel
X-Response-Time-Ms: 2.5558
@qrkourier
Copy link
Member Author

I verified the request body is identical when it is part of a browZer or non-browZer session.

@qrkourier
Copy link
Member Author

qrkourier commented Jul 28, 2024

The POST request is initiated by the Jellyfin Service worker when not running in browZer, and by the ZBR instead of serviceworker.js when running in browZer.

Here's another example of a request that fails only in browZer. This one doesn't correspond with the ZBR re-bootstrapping itself the same way the other request did above.

POST /media/Sessions/Playing/Progress
{
  "VolumeLevel": 100,
  "IsMuted": false,
  "IsPaused": true,
  "RepeatMode": "RepeatNone",
  "ShuffleMode": "Sorted",
  "MaxStreamingBitrate": 1500000,
  "PositionTicks": 0,
  "PlaybackStartTimeTicks": 17221955326070000,
  "PlaybackRate": 1,
  "SecondarySubtitleStreamIndex": -1,
  "AudioStreamIndex": 1,
  "BufferedRanges": [],
  "PlayMethod": "Transcode",
  "PlaySessionId": "192a273e0c5a41a4b2d3bfdd2d93e96e",
  "PlaylistItemId": "playlistItem0",
  "MediaSourceId": "96a707bcf82206e68547b1bd2447a98a",
  "CanSeek": true,
  "ItemId": "96a707bcf82206e68547b1bd2447a98a",
  "EventName": "timeupdate"
}

When I visit Jellyfin in browZer and click on a media library the ZBR immediately re-bootstrapps, corresponding with but perhaps not caused by the server error response to POST /media/Sessions/Capabilities/Full.

If I attempt to play a video without first clicking on a library, such as one of the "recently added" titles, then I encounter the error response to POST /media/Sessions/Playing/Progress and the title does not play. The symptom is the thumbnail is displayed for a long time. In rare cases I was able to watch a few seconds of the title before ZBR re-bootstraps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant