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

[FEATURE] Progressively load playlists #21

Closed
xxxserxxx opened this issue Aug 14, 2024 · 1 comment
Closed

[FEATURE] Progressively load playlists #21

xxxserxxx opened this issue Aug 14, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@xxxserxxx
Copy link

xxxserxxx commented Aug 14, 2024

With a large number of playlist entries (playlist number, or number of items in playlists), loading the playlists can take a long time. The UI doesn't show up until all of the playlists are loaded. This is demonstratble on gonic; I haven't tested it with other Subsonic servers.

This ticket is to track an effort to background this task, allowing the UI to come up immediately. Ideally, some sort of progress indicator will be shown, at least on the Playlist page. There's no current progress bar mechanism, and we wouldn't want it to interfere with the user's use of the playlists which have been loaded; it'd be just as annoying to have to wait for a full load when the playlist you want is already loaded.

I'm going to start with an MVP of just backgrounding the loading, and will likely submit a PR for it. In the meantime, are there any suggestions about how we might want to show background processes in general? Being a fundamentally remote client application, this may not be the last time we encounter needing something like this.

Update: I started a discussion for this #30

@spezifisch spezifisch added the enhancement New feature or request label Aug 15, 2024
@xxxserxxx
Copy link
Author

The call to GetPlaylists() is blocking, and the Subsonic API doesn't provide an incremental (paged) interface -- it's everything in one big response. There is no way to either check the size of the response in advance, or page through the responses. The best we'll be able to do is notify the user that a request is in progress, and that the playlist page will be updated when the request completes.

I've got this backgrounded and working, and am going to add a spinning-disk of some sort to the playlists page, to let the user know that something's going on in the background.

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

No branches or pull requests

2 participants