spicetify / cli

Command-line tool to customize Spotify client. Supports Windows, MacOS, and Linux.
https://spicetify.app
GNU Lesser General Public License v2.1
18.84k stars 735 forks source link

Spicetify WebNowPlaying.js extension not connecting to Rainmeter whilst WebNowPlaying companion for both firefox and chrome have no problem #983

Closed potatohub741 closed 3 years ago

potatohub741 commented 3 years ago

ℹ Computer information

📝 Provide detailed reproduction steps (if any)

  1. Install spotify version 1.1.62.583.gdac868ed-a and close window
  2. Create folder "Update" in %localappdata%\spotify and remove all groups in permissions
  3. Run "Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/khanhas/spicetify-cli/master/install.ps1" | Invoke-Expression" in PowerShell window
  4. Run command "spicetify"
  5. Run command "spicetify backup apply enable-devtool"
  6. Close spotify
  7. Run command "spicetify config extensions webnowplaying.js"
  8. Run command "spicetify apply"
  9. Install latest version of rainmeter (beta) as well as the JaxCore3 skin and ModularPlayers skin
  10. Using the JaxCore3 settings, navigate to the ModularPlayers settings and switch "media" to Spotify (which uses the spicetify webnowplaying.js extension)

✔️ Expected result

ModularPlayers skin should display the currently playing spotify song and song information.

❌ Actual result

Plugin remains unchanged. NOTE 1: When webnowplaying chrome or firefox extension is used instead, the ModularPlayers skin works fine and displays the information correctly (including the web version of spotify) NOTE 2: I have tried other Rainmeter skins that utilise spicetify and its webnowplaying.js extension and they don't work either. NOTE 3: Using the dev tools in spotify, under the "sources" tab, under the "extensions" drop-down menu, webnowplaying.js is listed.

📷 Screenshots

image image image

afonsojramos commented 3 years ago

I'm going to close this issue as it has been fixed on master as well. Thanks @TheSolly! Eventually, once that hook is fixed we can bring it back.

TheSolly commented 3 years ago

@afonsojramos We got a different issue with the latest updates!

Screenshot 2021-09-16 204538

debugged, and the culprit was a change in the structure of the Player hook, made a temp fix:

had to change getProgress inside the spicetifyWrapper

getProgress: () =>
      (Spicetify.Player.origin._state.isPaused ? 0 : Date.now() - Spicetify.Player.origin._state.timestamp) + 
       Spicetify.Player.origin._state.positionAsOfTimestamp,

Edit: And look like Spicetify.Platform hook is back online!

itsmeow commented 3 years ago

@TheSolly Thanks, this is on 1.1.68, right? I haven't been able to fix methods like getProgress because my client hasn't pulled the update. Can you verify that implementation works on Spotify 1.1.68 (File -> Help -> About Spotify)?

TheSolly commented 3 years ago

Yup Spotify is on latest version 👌

TheSolly commented 3 years ago

Do you want me to open a PR?

afonsojramos commented 3 years ago

@TheSolly please do!

TheSolly commented 3 years ago

1065 👍