jellyfin / jellyfin-webos

WebOS Client for Jellyfin
https://jellyfin.org
Mozilla Public License 2.0
623 stars 60 forks source link

Stuck loading forever at Jellyfin logo after server selection, before login #156

Closed rolodato closed 1 year ago

rolodato commented 1 year ago

I've been using Jellyfin on my LG OLED55BXPSA successfully for quite a long time. All of a sudden the app hangs loading forever at the Jellyfin logo after I enter the server URL. My server runs on both HTTP and HTTPS, and trying either makes no difference.

This does not seem like a server issue since:

  1. On the same TV I can still use Jellyfin from the built-in web browser
  2. All other clients I've tested still work fine (iOS, Chrome, Firefox, macOS and even a different LG TV)

I can't see anything interesting from the Jellyfin server logs. Looking at the nginx access logs it seems like the last request made by my TV is to download the JS bundle. Maybe it's failing to parse or execute? I wouldn't know how to troubleshoot further.

My TV is running webOS 04.40.76, the latest as of today. Already tried a factory reset to no avail. I have Jellyfin installed from the LG store.

Appreciate the help!

dmitrylyzo commented 1 year ago

Check X-Frame-Options: DENY and SAMEORIGIN don't work because the app uses a frame to display hosted webui.

from https://jellyfin.org/docs/general/networking/nginx The default X-Frame-Options header may cause issues with the webOS app, causing it to remain stuck at a black screen. > If enabled, the default Content Security Policy may also cause issues.

rolodato commented 1 year ago

Thanks for the suggestion but that's not it - my nginx isn't returning any X-Frame-Options or other security headers. Just to confirm I created a trivial HTML document with an iframe embedding my Jellyfin's root URL and it works in Chrome.

For reference, these are the headers returned for my index.html page:

HTTP/1.1 200 OK
Server: nginx
Date: Sat, 20 May 2023 20:21:06 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Accept-Ranges: bytes
Content-Encoding: gzip
ETag: "19db1ded5d70b92"
Last-Modified: Thu, 01 Jan 1970 00:00:01 GMT
Vary: Accept-Encoding
X-Response-Time-ms: 0
rolodato commented 1 year ago

Update: I tried exposing Jellyfin directly without nginx in the middle and the problem persists.

rolodato commented 1 year ago

I was able to get this working again by rolling back a NixOS channel upgrade and rebuilding the configuration with the same settings. I'll try and keep investigating what happened in case others run into the same issue.

rolodato commented 1 year ago

Some more updates: I was able to look at the failure with ares-inspect and it's failing to parse the JS bundle because of an unrecognized ?. operator somewhere.

I don't know exactly why this is being generated this way when I update my NixOS but for now I'll have to keep it the way it is. In any case this might be an issue for the nixpkgs repository or jellyfin-web itself, so I'll close this.