Skip to content

Folder view won't load on large nested structures (Request time > 30s) #7589

@loveritsu929re

Description

@loveritsu929re

This issue respects the following points:

  • This issue is not already reported on GitHub (I've searched it).
  • I agree to follow Jellyfin's Code of Conduct.
  • This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one.

Describe the bug

Folder view fails to load when clicking on folders with nested structures. The page displays an infinite loading spinner and never shows content, even though the server successfully returns data.

Image

I have a couple of movie folders with structure like this:
Folder/
├── actor-1/
│ ├── movie-1/
│ │ ├──movie1.mp4 & nfo &arts...
│ └── movie-2/
├── actor-2/
│ ├── movie-3/
│ └── movie-4/
└── ...

In the Web-UI, when I click on the folder to view its contents, it will send a request like:

http://192.168.10.2:8096/jellyfin/Users/Id/Items?StartIndex=0&Limit=100&Fields=PrimaryImageAspectRatio%2CSortName%2CPath%2CChildCount%2CMediaSourceCount%2CPrimaryImageAspectRatio&ImageTypeLimit=1&ParentId=9dbf488bc9d13602e4d446a0ead34c1f&SortBy=SortName&SortOrder=Ascending

and it will take just over 30 secs to respond for the smallest one, which has 47 direct subfolders (369 movies in total), and the UI shows the loading spinner forever.

In the console I find there seems to be a client-side timeout:

node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Request timed out to http://192.168.10.2:8096/jellyfin/Users/Id/Items?StartIndex=0&Limit=100&Fields=PrimaryImageAspectRatio%2CSortName%2CPath%2CChildCount%2CMediaSourceCount%2CPrimaryImageAspectRatio&ImageTypeLimit=1&ParentId=9dbf488bc9d13602e4d446a0ead34c1f&SortBy=SortName&SortOrder=Ascending
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Reporting request failure
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Reconnect failed

Reproduction Steps

  1. Enable "Display a folder view to show plain media folders" in Dashboard → Libraries →
    Display
  2. Create a deeply nested folder structure with many subfolders:
    Parent Folder/
    ├── Subfolder-1/
    │ ├── Nested-1/
    │ │ ├──files...
    │ └── Nested-2/
    ├── Subfolder-2/
    │ ├── Nested-3/
    │ └── Nested-4/
    └── ...
  3. Navigate to the parent folder in the web interface
  4. Click on the folder to view its contents

Expected/Actual behaviour

Folder view should load instantly. Or at least prompt for longer timeout window other than ignore successful request due to client-side timeout.

This seems to happen afer the 10.11 database migration.

Logs

node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Requesting http://192.168.10.2:8096/jellyfin/Users/Id/Items?StartIndex=0&Limit=100&Fields=PrimaryImageAspectRatio%2CSortName%2CPath%2CChildCount%2CMediaSourceCount%2CPrimaryImageAspectRatio&ImageTypeLimit=1&ParentId=9dbf488bc9d13602e4d446a0ead34c1f&SortBy=SortName&SortOrder=Ascending
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Requesting http://192.168.10.2:8096/jellyfin/System/Endpoint
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Requesting http://192.168.10.2:8096/jellyfin/Playback/BitrateTest?Size=500000
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Requesting http://192.168.10.2:8096/jellyfin/Playback/BitrateTest?Size=1000000
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Requesting http://192.168.10.2:8096/jellyfin/Playback/BitrateTest?Size=3000000
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Sending web socket message: KeepAlive
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Request timed out to http://192.168.10.2:8096/jellyfin/Users/Id/Items?StartIndex=0&Limit=100&Fields=PrimaryImageAspectRatio%2CSortName%2CPath%2CChildCount%2CMediaSourceCount%2CPrimaryImageAspectRatio&ImageTypeLimit=1&ParentId=9dbf488bc9d13602e4d446a0ead34c1f&SortBy=SortName&SortOrder=Ascending
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Reporting request failure
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Reconnect failed
web/#/list?parentId=…f8095ec14478a89ca:1 Uncaught (in promise) undefined
Promise.then
(anonymous) @ list.40b08310ad3e6b6c4713.chunk.js:1
Promise.then
(anonymous) @ list.40b08310ad3e6b6c4713.chunk.js:1
d @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
(anonymous) @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
Promise.then
value @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
(anonymous) @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
(anonymous) @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
(anonymous) @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
a @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
Promise.then
l @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
(anonymous) @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
c @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
m @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
(anonymous) @ main.jellyfin.bundle.js?0033154416badeb2a4c1:2
ri @ node_modules.react-dom.bundle.js?0033154416badeb2a4c1:2
Ss @ node_modules.react-dom.bundle.js?0033154416badeb2a4c1:2
(anonymous) @ node_modules.react-dom.bundle.js?0033154416badeb2a4c1:2
x @ 46967.bundle.js?0033154416badeb2a4c1:2
P @ 46967.bundle.js?0033154416badeb2a4c1:2
(anonymous) @ node_modules.core-js.bundle.js?0033154416badeb2a4c1:1
M @ node_modules.core-js.bundle.js?0033154416badeb2a4c1:1
P @ node_modules.core-js.bundle.js?0033154416badeb2a4c1:1
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Sending web socket message: KeepAlive
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Sending web socket message: KeepAlive
node_modules.jellyfin-apiclient.bundle.js?0033154416badeb2a4c1:2 Sending web socket message: KeepAlive

Server version

10.11.6

Web version

10.11.6

Build version

10.11.6

Platform

Windows & Android

Browser

Edge

Additional information

My main movie folder has 497 movies, but it has a standard/flat structure like jellyfin suggests, it doesn't have this issue.

Movies
├── Movie1
│   ├── Movie1.mp4
│   ├── Movie1.nfo
│   ├── cover.png
│   └── theme.mp3
└── Movie2
    ├── backdrop.jpg

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions