Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Tidal: playlists fail with HTTP 400 "Too big page, max page size is [50]"

Open Beginner friendly
#359 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
go
Domain
api

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

  1. Build from main (the Tidal provider isn't in any release yet) and install.
  2. Run cliamp setup, pick Tidal, and complete authentication.
  3. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from bjarneo/cliamp

All issues in bjarneo/cliamp

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.