[GH-ISSUE #288] Long playlist - API Pagination limit reached #206

Closed
opened 2026-02-28 14:31:21 +03:00 by kerem · 4 comments
Owner

Originally created by @maffelbaffel on GitHub (Mar 27, 2022).
Original GitHub issue: https://github.com/jpochyla/psst/issues/288

Describe the bug
So here I am sitting with a playlist of 700+ tracks, wondering why Psst can not add more songs to it.
Seems like I have reached some sort of fetch limit of the Spotify API?

The last song displayed is the 550th song in that list.

To Reproduce
Add 550 songs and another one to a playlist. 551 should not be displayed in that playlist.

Expected behavior
Some sort of API paging that fetches all songs.

Environment

  • OS: Linux
  • Version: Latest master branch build
Originally created by @maffelbaffel on GitHub (Mar 27, 2022). Original GitHub issue: https://github.com/jpochyla/psst/issues/288 **Describe the bug** So here I am sitting with a playlist of 700+ tracks, wondering why Psst can not add more songs to it. Seems like I have reached some sort of fetch limit of the Spotify API? The last song displayed is the 550th song in that list. **To Reproduce** Add 550 songs and another one to a playlist. 551 should not be displayed in that playlist. **Expected behavior** Some sort of API paging that fetches all songs. **Environment** - OS: Linux - Version: Latest master branch build
kerem 2026-02-28 14:31:21 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@rklasen commented on GitHub (Jul 19, 2022):

It seems this also applies to the "Liked Songs" playlist, which seems to be called "Saved Tracks" in psst. I couldn't find a way to count the songs that are shown, but it's much less than in the official client (~2700).

<!-- gh-comment-id:1188856056 --> @rklasen commented on GitHub (Jul 19, 2022): It seems this also applies to the "Liked Songs" playlist, which seems to be called "Saved Tracks" in psst. I couldn't find a way to count the songs that are shown, but it's much less than in the official client (~2700).
Author
Owner

@instinctualjealousy commented on GitHub (Aug 26, 2022):

I have a list of over 2000 (the entirety of my music, just for shuffle library purposes) and judging on Spotify page's count, my last track is also the 550th.

<!-- gh-comment-id:1228714490 --> @instinctualjealousy commented on GitHub (Aug 26, 2022): I have a list of over 2000 (the entirety of my music, just for shuffle library purposes) and judging on Spotify page's count, my last track is also the 550th.
Author
Owner

@tt37 commented on GitHub (Oct 25, 2022):

Same issue here. As a workaround, I increased the pagination limit from 500 to 2000 (adjust the maximum to your needs). There's a TODO comment at the corresponding location, so it appears to be a known issue.

diff --git a/psst-gui/src/webapi/client.rs b/psst-gui/src/webapi/client.rs
index 5e9a002..c52a18c 100644
--- a/psst-gui/src/webapi/client.rs
+++ b/psst-gui/src/webapi/client.rs
@@ -158,7 +158,7 @@ impl WebApi {
     ) -> Result<(), Error> {
         // TODO: Some result sets, like very long playlists and saved tracks/albums can
         // be very big.  Implement virtualized scrolling and lazy-loading of results.
-        const PAGED_ITEMS_LIMIT: usize = 500;
+        const PAGED_ITEMS_LIMIT: usize = 2000;
 
         let mut limit = 50;
         let mut offset = 0;

<!-- gh-comment-id:1290381786 --> @tt37 commented on GitHub (Oct 25, 2022): Same issue here. As a workaround, I increased the pagination limit from 500 to 2000 (adjust the maximum to your needs). There's a TODO comment at the corresponding location, so it appears to be a known issue. ``` diff --git a/psst-gui/src/webapi/client.rs b/psst-gui/src/webapi/client.rs index 5e9a002..c52a18c 100644 --- a/psst-gui/src/webapi/client.rs +++ b/psst-gui/src/webapi/client.rs @@ -158,7 +158,7 @@ impl WebApi { ) -> Result<(), Error> { // TODO: Some result sets, like very long playlists and saved tracks/albums can // be very big. Implement virtualized scrolling and lazy-loading of results. - const PAGED_ITEMS_LIMIT: usize = 500; + const PAGED_ITEMS_LIMIT: usize = 2000; let mut limit = 50; let mut offset = 0; ```
Author
Owner

@Insprill commented on GitHub (May 2, 2023):

Until a better way of handling paginated items is implemented, #394 added a config option to set the amount of tracks that can be loaded.

<!-- gh-comment-id:1532065114 --> @Insprill commented on GitHub (May 2, 2023): Until a better way of handling paginated items is implemented, #394 added a config option to set the amount of tracks that can be loaded.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/psst#206
No description provided.