Error during sync, when trying to push local version of playlist to navidrome

Issue description:

Whenever I try to “Push local version to provider” on a playlist I get an error message saying: “Error during sync”.

Logs:

debug-20221221_150126.zip (13.6 KB)

Screenshots:

Additional information:

Might be worth mentioning that this only happens to one of my playlist, which contains 215 tracks. This has been happening since verison 2.0.0 I believe.

414 Request-URI Too Large

Seems Navidrome have a limit on the request size and fails. I’ll probably need to detect this and send multiple queries, but check Navidrome configuration to see if this is not configurable.

Hey @Tolriq , how Symfonium sends the playlist to the server? Navidrome should be able to handle way more than 215 tracks. Are you sending it as a GET or a POST? I know a few clients out there (DSub, play:Sub) communicate with the server as POSTs, never as GETs, probably to avoid any limitations like that.

1 Like

The API is nowhere documented that it support POST so I went the always working way on all servers.
Identify servers is part of the needs in the future please join Expanding Subsonic API I’ll update the post and ping other major Subsonic actors.

I know it is not documented, but at least play:Sub, one of the oldest clients around, use POSTs (with arguments encoded as a x-www-form-urlencoded payload, so IMHO it is safe to assume it works with all maintained servers. I know for sure that it works with Subsonic, Airsonic(-Advanced) and gonic, besides Navidrome, ofc.

And it makes sense when you have to pass a huge amount of ids for some of the endpoints (ex: updatePlaylist, savePlayQueue).

I did go the batch split approach to be safe.

Let’s add exposing post support to API extension list :slight_smile:

Some servers like Funkwhale does not even support multiple arguments… This is a Jungle :frowning:

Really hope we can move the API to a better place.

1 Like