Tidal: playlists fail with HTTP 400 "Too big page, max page size is [50]"
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 68/100
Research direction
Start with external/tidal/client.go, focusing on fetchList and how it builds the query for playlistsAndFavoritePlaylists. Check the endpoint's page-size handling and pagination alongside the other list endpoints. Done means playlist loading succeeds with a 50-item page size for this endpoint while the other endpoints retain their 100-item size.
Written by the indexing model from the issue text.
Description
What happened
After authenticating with Tidal, loading the user's playlists fails immediately. cliamp requests the playlistsAndFavoritePlaylists endpoint with a page size of 100, but Tidal caps that endpoint at 50 items per page and rejects the request:
ERR: tidal: users/209131730/playlistsAndFavoritePlaylists: HTTP 400: {"status":400,"subStatus":1001,"userMessage":"Too big page, max page size is [50]"}
Steps to reproduce
- Build from
main(the Tidal provider isn't in any release yet) and install. - Run
cliamp setup, pick Tidal, and complete authentication. - Open the app / let it load the user's playlists — the error above fires before anything shows up.
Expected behavior
Playlists load normally. cliamp should honor the endpoint's 50-item cap when paginating playlistsAndFavoritePlaylists.
Screenshots / video
N/A — the full error text is in the log line above.
Environment
- cliamp version:
c44ac4c(main branch, built locally) - OS: Arch Linux (Omarchy)
- Audio backend: PipeWire
- Provider(s) involved: Tidal
Additional context
Root cause is in external/tidal/client.go: fetchList hardcodes pageSize = 100 for every endpoint, and passes it straight to limit on the query string. Tidal's v1 API allows 100 for most list endpoints (favorites/tracks, playlists/{uuid}/tracks, etc.) but only 50 for users/{id}/playlistsAndFavoritePlaylists (subStatus 1001).
I verified a local fix locally: parameterizing fetchList with a per-endpoint page size (50 for playlistsAndFavoritePlaylists, 100 for the rest) resolves the error and the playlists load fine. Happy to open a PR with that change if useful.
Disclaimer: This bug report was filed with assistance from an AI agent, which identified the root cause, verified the fix locally, and helped draft this report. I'm sharing it transparently and can provide the patch or any logs you need.
- Dominant language
- Go
- Stars
- 4.4k
- Forks
- 307
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 63
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from bjarneo/cliamp
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
siyuan-note/siyuan#20353 ·
Maintainers usually reply within 1 day
-
attributes-natural-language "en-US" is rejected by PAPPL >= 1.4.12 printers (RFC 8011 requires lowercase)Possibly taken @ChrisEdgington claimed this today. Open
Difficulty 1/5 Under an hour Newbie friendliness 84/100
OpenPrinting/ipp-usb#140 ·
-
Discriminator mapping keys are listed in a random orderPossibly taken @reuvenharrison claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Idle compaction monitors LIST the replica every tick when the newest destination file spans more than one TXIDPossibly taken @pishuv claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
benbjohnson/litestream#1563 ·
Maintainers usually reply within 2 days
-
triage needed
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 2 days