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

[Feature] Replace bespoke Subsonic API with external library #39

Open
xxxserxxx opened this issue Sep 16, 2024 · 4 comments
Open

[Feature] Replace bespoke Subsonic API with external library #39

xxxserxxx opened this issue Sep 16, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@xxxserxxx
Copy link
Collaborator

Rather than maintaining an internal, bespoke Subsonic API library, should we use something like go-subsonic? The downside would be an external dependency; the upside is that that library, in particular, is more complete than the home-brewed interface. Plus it's less work for us to maintain.

@spezifisch
Copy link
Owner

That's a good idea and I now think the answer is definitely yes.
There is a maintained fork by the Supersonic author @dweymouth at https://github.com/supersonic-app/go-subsonic which could be used (we already use a common go-mpv).

This might be a post-1.0.0 thing though IMO.

@spezifisch spezifisch added the enhancement New feature or request label Sep 19, 2024
@xxxserxxx
Copy link
Collaborator Author

Ok. I'll look at the libraries and see if I end up with an opinion. I agree, it's not critical; I haven't needed it, although the search feature started pushing the boundaries as I added functions for calling more of the Subsonic endpoints and had to add some types.

I guess I should stop the fun stuff (adding features) and start knocking things out of the 1.0.0 milestone.

@dweymouth
Copy link

If you're considering using my go-subsonic fork we can discuss any API changes that would be nice before tagging a stable 1.0.0. I was thinking about making all the endpoints context-aware, to allow for controlling timeouts on a per-request basis, etc.

@xxxserxxx
Copy link
Collaborator Author

If you're considering using my go-subsonic fork we can discuss any API changes that would be nice before tagging a stable 1.0.0.

@dweymouth , where would you like to have this discussion? I haven't discussed a timeline with @spezifisch on the stmps 1.0.0 release, although I'm thinking we're getting reasonably close. It's likely that immediately thereafter, we'll be looking at replacing a fair chunk of bespoke code with libraries: your's for (Open)Subsonic, and another for some of the GUI widgets that were crafted in stmps.

You're right that it's the right time to be discussing API fixating, and in particular the data model. ABI changes aren't as disrupting as model changes.

@xxxserxxx xxxserxxx changed the title Should stmps use a Go subsonic library? [Feature] Replace bespoke Subsonic API with external library Oct 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants