Closed count00zero closed 2 years ago
same happens with airsonic (advanced)
I looked into this a bit and from what I can tell it seems like Ampache's support for the Subsonic API (and apparently Airsonic's) was targeting an older version, one that had those .view
extensions on the method endpoints (what version that is though I can't seem to find). Those .view
extensions appear just a couple times in the Subsonic API docs as well in examples but not on any of the actual method URLs. Maybe I can scrub through the wayback machine to find out when that changed...
Anyway, I also looked through DSub's code to find out how other players were handling this and it appears they're just always appending .view
to the method. I tested this and it seems to work fine with Navidrome as well.
So I'm going to do a bit more testing and research on this but it looks like I have a potential fix for this. I would like to lock down which version of the API I'm actually targeting by using those before I merge in a change, however.
Well I've isolated the change in the API. They didn't make it easy as it doesn't appear in any changelogs that I can find, but it looks like it was updated in 2017 with the release of API version 1.15.0, which is the version I'm currently targeting
Jan 2017 (API version 1.14.0, has .view
): https://web.archive.org/web/20170109012352/http://www.subsonic.org/pages/api.jsp
Apr 2017 (API version 1.15.0, does not have .view
): https://web.archive.org/web/20170406054654/http://www.subsonic.org/pages/api.jsp
I'll have to double check that I'm not using anything new in the 1.15.0 API version when compared to the older 1.14.0, but I think I'll be able to target the older version and then support this.
By the way: thanks for the fast way of fixing (implementing) the usage of the older API version!!!
There still seems to be a version Problem with ampache & Subtracks -> https://github.com/ampache/ampache/issues/2494#issuecomment-990388520
Well it looks like I might have jumped the gun on a bit on this then, on the client end that is, since I was only going from 1.15.0 to 1.14.0 since that's when the *.view
change was implemented on the endpoints. I probably should have looked further into this for Ampache's specific API support, which appears to be 1.13.0 at max.
This could be a bit more of an issue for client features coming up, since 1.14.0 introduced the getAlbumInfo
endpoint, which I don't currently use but was looking to implement in the future. Looks like this is where I will have to start implementing feature checks based on server version eventually.
I'll open another issue for this to research exactly how far back I can slide the version support for what I'm using now, which I know should be at least to 1.13.0, and then that will give me a better bottom floor to start from I think.
I tested Subtracks with navidrome and it works fast and I like it a lot.
Then I tried it with ampache but wasn't able to connect. Main problem seems to be, that ampache requires
ping.view
when subtracks uses justping
Is there anything I could do (i.e. change nginx rewrite rules) or can the app be adjusted (if necessary)
THANKS!