Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

symfonium x gonic #229

Closed
Tolriq opened this issue Jul 9, 2022 · 18 comments
Closed

symfonium x gonic #229

Tolriq opened this issue Jul 9, 2022 · 18 comments

Comments

@Tolriq
Copy link

Tolriq commented Jul 9, 2022

It seems that Gonic Subsonic API implementation of Search3 endpoint does not support empty queries that most other servers support and allows fast and efficient sync of the database.

rest/search3.view?query=%22%22&songOffset=0&songCount=0&albumOffset=0&albumCount=0&artistOffset=0&artistCount=500

rest/search3.view?query=%22%22&songOffset=0&songCount=0&albumOffset=0&albumCount=500&artistOffset=0&artistCount=0

search3.view?query=%22%22&songOffset=0&songCount=500&albumOffset=0&albumCount=0&artistOffset=0&artistCount=0

It would be nice is this could be implemented / fixed to allow fast and efficient sync for remote clients.

@sentriz
Copy link
Owner

sentriz commented Jul 20, 2022

hiya Tolriq, nice to see you here :) i really liked yatse back when i used kodi

this is a nice idea, i'll try get it in before the next release

@Tolriq
Copy link
Author

Tolriq commented Jul 21, 2022

@sentriz
Copy link
Owner

sentriz commented Jul 21, 2022

that looks really nice I'd love to try it. though I don't have a google account. do you offer people any other way to pay? other than google play

@Tolriq
Copy link
Author

Tolriq commented Jul 21, 2022

No I don't, too risky to get account ban by nice Google :)

But I can provide you unlimited trial just mail me the trial id.

@sentriz
Copy link
Owner

sentriz commented Jul 21, 2022

just had a look, it seems symfonium sends the query as "" instead of a blank `` (which does work)

since other servers support this as you say, I just added a shim to rewrite these queries as ``


the app looks really nice, things seem to work for me - but i'll leave this open just incase and other issues arise with gonic while I use it. and feel free to put some here too 👍

@sentriz sentriz reopened this Jul 21, 2022
@sentriz sentriz changed the title FR: Support empty queries for search3 endpoint. symfonium x gonic Jul 21, 2022
@Tolriq
Copy link
Author

Tolriq commented Jul 21, 2022

Well it's actually a mess, each server have it's own thing it support or not and many subtle variations in everything :p
But sending "" is a little more compatible than no value so I went with this.

Something that may help in the future as I try to have branching depending on the server would be to also expose gonic version in the answers like navidrome or funkwhale:

{"subsonic-response":{"status":"ok","version":"1.16.1","type":"navidrome","serverVersion":"0.47.5 (86fe1e3b)"}}
{"subsonic-response":{"funkwhaleVersion":"1.2.3+git.dc35000d","status":"ok","type":"funkwhale","version":"1.16.0"}}

Seems you only report gonic as type (It's already nice) but the version could help decide for other calls too in the future maybe. (But really optional request)

@sentriz
Copy link
Owner

sentriz commented Jul 21, 2022

okay nice, i might add a serverVersion or similar then. have you had a chance to try gonic after the latest commit?

@sentriz
Copy link
Owner

sentriz commented Jul 21, 2022

btw does symfonium support artist images with subsonic?

they seem to show up in some clients

image

but not symfonium

image

@Tolriq
Copy link
Author

Tolriq commented Jul 21, 2022

I don't use Gonic can't follow on every single servers for the moment. (But if you have an exposed server I can connect and test)

I do support artist images when properly returned by the search API.
You can also check the provider option Force artist metadata to call the artist endpoint for each artists but this slow down the sync as requires many queries.

Maybe you can have the art returned from the search too? For the artist I check artistImageUrl and coverArt fields

I know some clients cheats and auto generate IDs for the arts when not returned, I prefer not to do that, because if it's incompatible with the server it will just constantly try to get images that do not exist.

@sentriz
Copy link
Owner

sentriz commented Jul 21, 2022

sounds good Tolriq,

at least for gonic it sends the coverArt field, which will be present only if a real artist image exists

PS I sent you a email with some details to an open gonic server

thanks!

@Tolriq
Copy link
Author

Tolriq commented Jul 21, 2022

Got your mail and found the issue for the artist images wrong test so was only using artistImageUrl and no fallback for coverArt will be fixed for next release.

That's nice another efficient subsonic server for the users:)

@Tolriq
Copy link
Author

Tolriq commented Jul 21, 2022

Actually no seems there's some issues with song / artist relationship and genres will look into it later.

@Tolriq
Copy link
Author

Tolriq commented Jul 21, 2022

Ok so @sentriz
With the search3 endpoint:

  1. You do not return the artistId for the songs
  2. You do not return the genre for songs and albums either.

Do you think this is something you can fix?

@sentriz
Copy link
Owner

sentriz commented Jul 21, 2022

hey! thanks for looking into it 👍 just added support for both of those. if it seems a bit slower now let me know, I can probably do some optimisations

@Tolriq
Copy link
Author

Tolriq commented Jul 21, 2022

Yes it works things are properly matched now thanks. And it's still way way way way way way way way faster than using the compatibility mode that was needed before your fixes :)

@sentriz
Copy link
Owner

sentriz commented Jul 21, 2022

very nice! I just pushed that changed then

PS I sent you an email with my trail ID, I'd love to start daily driving and testing this

@Tolriq
Copy link
Author

Tolriq commented Oct 12, 2022

@sentriz Seems you did not release any new official builds with the fix present. I've got a few support about that since it requires enabling the very slow sync making the usage of Gonic less pleasant with Symfonium.

See for example https://support.symfonium.app/t/does-gonic-connection-require-very-slow-sync-enabled/811 just now.

Any plans to release something?

@sentriz
Copy link
Owner

sentriz commented Oct 12, 2022

yep its coming soon

release is tracked here #218

and will be released after these are closed: https://github.com/sentriz/gonic/labels/before%20next%20release

it is also possible for someone to install from master, or use the docker :nightly tag

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants