librespot-org / librespot-java

The most up-to-date open source Spotify client
Apache License 2.0
387 stars 95 forks source link

Spotify may have killed support for several hermes endpoints (502 error) #678

Open rashad opened 1 year ago

rashad commented 1 year ago

Since yesterday, several endpoints returns a 502 error when using the player:

I tried to run dump.sh from spotify-analyze to check what endpoints the current desktop client version is using but no luck to get a valid dump.pcap. I'm running librespot-java v1.6.3

Did you encounter similar issues recently ? Is there investigations ongoing somewhere where I could help ?

related : https://github.com/spicetify/spicetify-cli/pull/2425#issue-1764431733

christosk92 commented 1 year ago

Yeh I get the same issue. Kinda sad because that endpoint was really good, it gave you everything about the artist without having to worry about pagination anywhere. Instead now we have to deal with the horrors of GraphQL. Well, it was fun while it lasted

devgianlu commented 1 year ago

You can have a look at what the new client uses with something like Telerik Fiddler. I highly suspect that the new client stopped using Hermes.

christosk92 commented 1 year ago

Well it's kinda weird. The new client (And web player) have been using the GraphQL endpoint (queryArtistOverview) for kinda a long time now. But it's only now that they killed those specific endpoints. Maybe it's a high load query or something?

A lot of mercury endpoints still work (hm://metadata, hm://context-resolve, hm://keymaster/token etc), it's just the artist and album endpoints that stopped working. Which makes me suspect that they internally still use this protocol somewhere?

devgianlu commented 1 year ago

They probably have statistics of how many clients hit those endpoints and may have decided to remove then since they aren't used anymore. Librespot-java and other projects do not advertise themselves as the official client so those don't count.