mirror of
https://github.com/devgianlu/go-librespot.git
synced 2026-04-25 21:05:47 +03:00
[GH-ISSUE #111] Track reporting (for the listening history) #71
Labels
No labels
bug
enhancement
pull-request
spotify-side
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/go-librespot#71
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @aykevl on GitHub (Oct 2, 2024).
Original GitHub issue: https://github.com/devgianlu/go-librespot/issues/111
Right now it does not seem like go-librespot reports which tracks are played, for "listening history" and probably also for the taste profile Spotify builds (and various other things).
I might take a stab at implementing this. I know there's https://github.com/librespot-org/librespot-java/pull/155 but it's kind of a big PR to wade through (and somebody says it's no longer working). Also, it uses mercury events though I would expect there would be some HTTP/protobuf API endpoint by now? (Or am I missing something? I thought the mercury API was old and deprecated).
In any case, @devgianlu maybe you have some suggestions? Otherwise I might just try to trace what the official Spotify client does.
@devgianlu commented on GitHub (Oct 3, 2024):
The playback reporting subject is incredibly delicate because as soon as you implement it you'll end up with a bunch of people stealing the code to sell "listens bots" to artists and that may piss off Spotify. The current situation of not supporting free accounts and not reporting plays doesn't hurt them economically so they'll let it pass.
Many people have already contacted me with nefarious intents so it's not a matter of "if there are people like this".
You can find a bit (a lot actually) of discussion on the topic here: https://github.com/librespot-org/librespot/discussions/626
This puts us in a similar situation to that of
playplay(the new audio decrypting mechanism) which people have reversed and made Spotify angry. You can find lots of stuff about it, but they are all small repositories which they probably don't care about or didn't see. Discussion on the topic is here: https://github.com/librespot-org/librespot-java/discussions/421Perhaps the best way is to explore the topic privately and share it only with the people that we trust and that care about giving credits to whom they listen to. The
librespot-javareporting stuff didn't get them angry, I find it very difficult to understand what does.All of the above is the reason why the latest implementation of the reporting code is in
librespot-javaand uses the old protocol. I haven't looked at any of the new stuff, but that would be cool. If you are interesed in undergoing this journey maybe let's get in touch privately.P.S. If someone at Spotify is reading this and wants to get in touch, you have already emailed me before :)
@aykevl commented on GitHub (Oct 5, 2024):
Yeah... that's really unfortunate. Didn't really think of that. I certainly don't plan on selling listening bots, I just want a nice Spotify player :)
If I get around to this (maybe some time, maybe never) I'll contact you privately how this is best integrated in go-librespot. It's not a big issue, just kind of unfortunate that half my listening history is missed.