Subsonic API: 'query' parameter when empty


I noticed symfonium tries to discover the music using the search3 endpoint.
Fair enough, but why is it using query=""? Wouldn’t an empty parameter be just query= ? (my server then tries to match entries that have "" in the names…)

This is historical because some other servers does not support the other way and most support that way by default.
I have a switch internally to use one of the other when I can identify the server and know it’s behavior.

See Explicit server name and version if your server properly expose a type I can add tweak the query to send query=

Thanks for your answer.
LMS exports type="lms" in its responses.
I added a hack on my side to trim these "" in the query parameter for the Symfonium client, that also does the trick.

Nice another server supporting fast sync. Start to make a great list of choices for the users.

I see you support multi genre / artists … Be sure to comment on the extension API part to try to have the project advance on that subject.

I’ll still add the switch on my side to support older server versions. Does you demo server have subsonic api enabled?

1 Like

Ping due to edit :)/

Yes the demo server has the Subsonic API enabled (demo / demo credentials)

1 Like

Hum testing your server and you advertise API 1.16 but do not support the new auth system.

If you do not support it you should / must return error “41 Token authentication not supported for LDAP users.” and not error 10 with missing p parameter. That’s the norm most clients use to automatically switch back to legacy auth.

Yes indeed it does handle newer endpoints but not the poorly design new auth system.
I find the error about LDAP quite misleading, but fair enough, I can change this.

Just also realized LMS badly returned everything when asked for 0 artists/albums/tracks, etc (this slowed everything down)

Yes the error text is missleading but the error code is relatively clear, no new auth system.

The API have issues, but it widely used, hence the attempts to improve it with most of the servers if possible.

BTW there’s also a discussion about a new proper auth solution started on the forum.

Next release will have the change to support fast sync for LMS.

What is “fast sync” by the way?

The app is offline first so I have a full copy of the data inside the app.
The Subsonic API have no endpoint to request all the song data efficiently.

That’s why supporting empty query in search3 is vital: Getting all songs fast instead of having to make 1 request per album that is very slow.

1 Like

Ok thanks!
On my side the next LMS release should work fine with symfonium (report error 41 for token auth attemps, search3 endpoint: do not report unwanted elements + trim ")

1 Like