Selbi182 / SpotifyBigPicture

A Java/JavaScript-based fullscreen interface displaying your current music on Spotify in a beautiful little browser page
GNU General Public License v3.0
55 stars 6 forks source link

Server issues? #3

Closed Ehee47 closed 1 year ago

Ehee47 commented 1 year ago

Let me just start this by saying I have next to no experience in programming or anything of the sort. What am I doing on Github then, you might ask. I simply wanted a better fullscreen display for Spotify, and BigPicture more than delivered on that. Been using it for nearly a week now, and I'm loving it.

One thing though. Sometimes (right now included) upon startup, the page just stays blank. The clock still works, as do the other functions of the page, just that nothing comes up on display. There isn't an issue with the running of the application itself as far as I can tell, since everything seems to check out in Terminal.

Aside from this much less frequent issue, a less-pressing matter would be that after about 6-7 hours (could be more) of usage, the page gets stuck on a song once it ends. There doesn't seem to be a way (that I'm familiar with) to re-sync it to the current song, other than closing everything and waiting a few hours.

Once again, I wanna say how much I love BigPicture, and I'm really thankful you made it!

Selbi182 commented 1 year ago

Hey, first of all, thanks for the very humbling words! :)

As for the issues... I'm afraid I can't give a simple solution. There are multiple things affecting the stability of the Spotify API and sometimes it straight up doesn't realize a song has changed. The screen stays blank with only the clock showing when the application first starts and there has not yet been any playback information sent to it.

Two things you can try:

  1. For whatever bizarre reason, simply clicking on the devices button in Spotify (not even selecting any different device, literally just opening the dropdown) sometimes forces the API to catch up. This has been my go-to for fixing stuck screens and it works surprisingly well. grafik
  2. You mentioned looking at the terminal to find any errors. That won't help you much, as all the errors regarding the connection (flux) are shown on the web console. So, hit F12 and navigate to the console out. There, you should hopefully find more helpful information. The most crucial one to look out for: grafik

I hope this helped at least a little bit. I wish I could do more, but Spotify's API simply sucks sometimes, especially for something like real-time playback info. Let me know if you had any success though.

Ehee47 commented 1 year ago

I waited a few hours and that seems to have done the trick lol. I'll keep these solutions in mind next time it happens though. Thanks a lot!

Selbi182 commented 1 year ago

Ah cool. Yeah, just try the devices button, it does some voodoo magic in the background. If there's anything else you think could need improvement, feel free to let me know!

Ehee47 commented 1 year ago

Sure thing! Thanks again for spicing up my background music experience while I'm doing literally anything lmao

Ehee47 commented 1 year ago

Hey, sorry for bringing this up again. I just ran into the issue again and the devices button wasn't doing the trick so I checked the web console (which I have no experience with..) I don't think that's ideal, is it? Screenshot (19)

Selbi182 commented 1 year ago

Waiting is your best friend in these situations. From my private experience, sometimes the Spotify API simply doesn't update with the current playback information in time. I wish to know how to mitigate this, but so far I'm just as unlucky as you.

As for the Heartbeat timeouts themselves, they shouldn't be a big issue if they happen sparingly. The website keeps trying to stay connected to the Java application in the background, and sometimes that connection fails. A heartbeat is done once every 30 seconds, and if the website gets no response it reestablishes the connection. Usually, a heartbeat timeout only happens every once in a while. If it spams the console, however, that means that something is obstructing the connection between the website and the Java app.

Ehee47 commented 1 year ago

Guess whenever it happens I just gotta wait lol. Thanks again man.