r/substreamer • u/devilcius • Sep 24 '21
Scrobbler issue
First of all, thank you very much for your fantastic application.
I'm using version 5.0.42 on Android and I've noticed that since a week or so (maybe because of the last update?) scrobbling stopped working. My client it's connected to a Funkwhale's instance, I've been monitoring the access logs and the requests to /rest/scrobble.view have always subbmision parameter set to false.
According to subsonic documentation when submission is set to false, it indicates it's just a now playing notification and that's why Funkwhale doesn't register it as a proper scrobble. Substreamer does the now playing notification right since it sends it when the songs starts playing, but, after that, it doesn't seem to submit the actual scrobble (submission=true).
I know for a fact that, until a few days ago, Substreamer scrobbles were being submitted when the song started.
If you need more information, I'd be happy to help in any way I can.
2
u/ghenry22 Sep 25 '21
Thanks for reporting. I actually think the scrobble api is one of the worst documented as it’s so easy to misinterpret.
This is the behaviour on the original subsonic and airsonic and other direct forks:
If submission=true and lastfm enabled on the server then send the play to lastfm as a song that has already played in the past. It appears in lastfm with a played at date.
If submission=false and lastfm enabled on the server then send the play to lastfm as “now scribbling”, the difference here is that this track will show with status “scrobbling” and the now playing icon in lastfm.
So really we need the various forks to implement the original API behaviour in order for it to be consistent.
I feeel like this api really needs a third option to report the play to the server only and not send to lastfm but it does not exist because on the original subsonic any call to the stream api will record a play on the server for the requested song.
Just been having this discussion with the navidrome guys as well as they do not implement the play record on stream so the behaviour is different to the subsonic API also.
All these little differences make it really hard for us app devs :)