newgiin / cloudplayer-scrobbler

Chrome plugin for scrobbling from Google Play (music.google.com)
52 stars 15 forks source link

Scrobbles not saving #30

Closed JesusFreke closed 8 years ago

JesusFreke commented 8 years ago

This extension hasn't been scrobling my play music listens for a few weeks. I've tried signing out and back in to my last.fm account in the extension, and even uninstalling and reinstalling the extension.

My last scrobble was at the end of september, although I don't know if that was from my phone or from this plugin on my computer.

The plugin seems to detect the song I'm playing - when I click on the icon in the toolbar it shows the correct song. But I don't see the scrobble in my last.fm history.

ekovi commented 8 years ago

I use this extension constantly... and it just stopped working for me yesterday on my personal PC. First I thought it's somehow related to the recent chrome update on kubuntu as it was still working correctly on my second laptop with win7. However... I tend not to close google play music tab and only put the laptop to sleep. The laptop had the last update of chrome a few days back and extension was working correctly. Today I thought - maybe it is due to some changes on google play music side and... just reloaded the tab on my laptop and the extension stopped working. Thus, I suspect it is related to some changes on the google side and not the browser or system.

Current behaviour as I see it:

notes:

newgiin commented 8 years ago

Google is probably rolling out some changes to the UI. It's still working for me, but you might be getting a different version of the page. What's probably happening is some html classes got renamed and this code https://github.com/newgiin/cloudplayer-scrobbler/blob/google-music/js/contentscript.js#L51 can no longer find the play button. Can I get the generated HTML source of your page? Go to Play Music, play a song, and then press Ctrl+Shit+C. Then copy all the html like in the attached screenshot.

gen_html

Thanks!

ekovi commented 8 years ago

Hi,

I have tried to attach the source code as a txt file, but got 'Attaching documents requires write permission to this repository' message. When tried to paste whole source code inline of the comment box, it stated the text is too long.

Below is source of the bottom bar only, maybe that will be sufficient...

<div id="player" class="g-section material active" role="navigation" main=""><div id="player_api"></div><div class="player-progress-wrapper"><paper-slider id="material-player-progress" role="slider" tabindex="0" aria-disabled="false" aria-valuenow="26554" aria-valuemin="0" aria-valuemax="259000" class="x-scope paper-slider-0" title="Track progress" value="26554">
    <div id="sliderContainer" class="style-scope paper-slider">

      <div class="bar-container style-scope paper-slider">
        <paper-progress id="sliderBar" aria-hidden="true" class="style-scope paper-slider x-scope paper-progress-0" role="progressbar" value="26554" aria-valuenow="26554" aria-valuemin="0" aria-valuemax="259000" aria-disabled="false" style="touch-action: none;">
    <div id="progressContainer" class="style-scope paper-progress">
      <div id="secondaryProgress" class="style-scope paper-progress" style="transform: scaleX(0);" hidden=""></div>
      <div id="primaryProgress" class="style-scope paper-progress" style="transform: scaleX(0.102525);"></div>
    </div>
  </paper-progress>
      </div>

      <template is="dom-if" class="style-scope paper-slider"></template>

      <div id="sliderKnob" class="center-justified center horizontal layout style-scope paper-slider" style="touch-action: none; left: 10.2525%;">
          <paper-ripple center="" id="ink" class="circle style-scope paper-slider" hidden="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
          <div id="sliderKnobInner" class="style-scope paper-slider" value="26554"></div>
      </div>
    </div>

    <template is="dom-if" class="style-scope paper-slider"></template>
  </paper-slider></div><div id="material-player-left-wrapper"><div class="player-left"><div id="playerSongInfo"><div class="image-wrapper"><img id="playingAlbumArt" src="https://lh3.ggpht.com/jEa5j4KkjbtRs1gfb152u8APMCxKpxYXsMDYuhMN8OzqtsVWKEY5WvxS8pG3S0N7n6-LxMQL=s90-c-e100" alt=""><div class="hover-overlay"><div id="hover-icon" class="hover-icon"></div></div></div><div class="now-playing-info-wrapper"><div class="now-playing-info-content"><div id="player-song-title" class="tooltip">Play It Funky</div><div class="player-artist-album-wrapper"><div id="player-artist" class="player-artist" data-type="artist" data-id="A7h52vx6p4ve2ulxup2zhdh367m/SuperVision" data-navigate="">SuperVision</div><div class="player-dash">&nbsp;-&nbsp;</div><div class="player-album" data-type="album" data-id="B4hwzbliagg3jkxkswhqmjruqf4/SuperVision/Telekinetic" data-navigate="">Telekinetic</div></div></div><div class="now-playing-actions "><paper-icon-button data-id="now-playing-menu" icon="more-vert" title="More options for Play It Funky" aria-label="More options for Play It Funky" role="button" tabindex="0" aria-disabled="false" class="x-scope paper-icon-button-0">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon>
  </paper-icon-button><div class="player-rating-container"><div class="rating-container materialThumbs" style="visibility: visible;"><paper-icon-button icon="sj:thumb-up-outline" data-rating="5" role="button" tabindex="0" aria-disabled="false" class="x-scope paper-icon-button-0" title="Thumb-up" aria-label="Thumb-up">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g transform="translate(12.000000, 12.000000) rotate(-180.000000) translate(-12.000000, -12.000000) translate(2.000000, 3.000000)" class="style-scope iron-icon">
  <path d="M13,0H4C3.2,0,2.5,0.5,2.2,1.2l-3,7.3C-0.9,8.7-1,8.9-1,9.2v2.1 c0,1.1,0.9,2.1,2,2.1h6.3l-1,4.7v0.3c0,0.4,0.2,0.8,0.4,1.1l0,0c0.6,0.6,1.5,0.5,2.1-0.1l5.6-5.7c0.4-0.4,0.6-0.9,0.6-1.4V2 C15,0.9,14.1,0,13,0L13,0z M12.7,12.6l-3.5,3.6c-0.2,0.2-0.5,0-0.4-0.2l1-4.7H2c-0.6,0-1-0.5-1-1V9.4l0-0.1l2.7-6.7 C3.9,2.3,4.3,2,4.7,2L12,2c0.6,0,1,0.5,1,1v8.8C13,12.2,12.9,12.4,12.7,12.6L12.7,12.6z" class="style-scope iron-icon"></path>
  <path d="M17,0h4v12h-4V0z" class="style-scope iron-icon"></path>
</g></svg>
  </iron-icon>
  </paper-icon-button><paper-icon-button icon="sj:thumb-down-outline" data-rating="1" role="button" tabindex="0" aria-disabled="false" class="x-scope paper-icon-button-0" title="Thumb-down" aria-label="Thumb-down">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g transform="translate(2.000000, 3.000000)" class="style-scope iron-icon">
  <path d="M12.9,0H4C3.2,0,2.5,0.5,2.2,1.2l-3,7.3C-0.9,8.7-1,8.9-1,9.2v2 c0,1.1,0.9,2,2,2h6.3l-1,4.7v0.3c0,0.4,0.2,0.8,0.4,1.1l0,0C7.3,20,8.2,20,8.8,19.4l5.5-5.7c0.4-0.4,0.6-0.9,0.6-1.4V2 C14.9,0.9,14,0,12.9,0L12.9,0z M12.7,12.6l-3.5,3.6c-0.2,0.2-0.5,0-0.4-0.2l1-4.6H2c-0.6,0-1-0.5-1-1V9.4l0-0.1l2.7-6.6 C3.9,2.2,4.3,2,4.7,2L12,2c0.5,0,1,0.5,1,1v8.8C12.9,12.1,12.8,12.4,12.7,12.6L12.7,12.6z" class="style-scope iron-icon"></path>
  <path d="M17,0h4v12h-4V0z" class="style-scope iron-icon"></path>
</g></svg>
  </iron-icon>
  </paper-icon-button><paper-icon-button icon="remove-circle-outline" data-rating="0" role="button" tabindex="0" aria-disabled="false" class="x-scope paper-icon-button-0">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon>
  </paper-icon-button></div></div></div></div></div></div></div><div class="material-player-middle"><paper-icon-button data-id="repeat" icon="av:repeat" role="button" tabindex="-1" aria-disabled="true" class="x-scope paper-icon-button-0" value="NO_REPEAT" title="Repeat Off. Click to change Repeat mode." aria-label="Repeat Off. Click to change Repeat mode." disabled="" style="pointer-events: none; display: none;">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon>
  </paper-icon-button><paper-icon-button data-id="rewind" icon="av:skip-previous" title="Previous song" aria-label="Previous song" role="button" tabindex="0" aria-disabled="false" class="x-scope paper-icon-button-0">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M6 6h2v12H6zm3.5 6l8.5 6V6z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon>
  </paper-icon-button><paper-icon-button data-id="play-pause" icon="sj:play-circle-fill" role="button" tabindex="0" aria-disabled="false" class="x-scope paper-icon-button-0" title="Play" aria-label="Play">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g transform="translate(2.000000, 2.000000)" class="style-scope iron-icon">
  <path d="M20,10 C20,4.4775 15.5228125,0 10,0 C4.4771875,0 0,4.4775 0,10 C0,15.5228125 4.4771875,20 10,20 C15.5228125,20 20,15.5228125 20,10" class="style-scope iron-icon"></path>
  <path d="M7.428625,6.04975 C7.428625,5.71525 7.795,5.50975 8.08075,5.684125 L14.54425,9.634375 C14.818,9.80125 14.818,10.198375 14.54425,10.365625 L8.08075,14.315875 C7.795,14.49025 7.428625,14.28475 7.428625,13.95025 L7.428625,6.04975 Z" fill="#FFFFFF" class="style-scope iron-icon"></path>
</g></svg>
  </iron-icon>
  </paper-icon-button><paper-icon-button data-id="forward" icon="av:skip-next" title="Next song" aria-label="Next song" role="button" tabindex="0" aria-disabled="false" class="x-scope paper-icon-button-0">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon>
  </paper-icon-button><paper-icon-button data-id="shuffle" icon="av:shuffle" role="button" tabindex="-1" aria-disabled="true" class="x-scope paper-icon-button-0" value="NO_SHUFFLE" title="Shuffle songs" aria-label="Shuffle songs" disabled="" style="pointer-events: none; display: none;">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M10.59 9.17L5.41 4 4 5.41l5.17 5.17 1.42-1.41zM14.5 4l2.04 2.04L4 18.59 5.41 20 17.96 7.46 20 9.5V4h-5.5zm.33 9.41l-1.41 1.41 3.13 3.13L14.5 20H20v-5.5l-2.04 2.04-3.13-3.13z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon>
  </paper-icon-button></div><div id="material-player-right-wrapper"><div id="volume"><iron-icon id="material-volume-low" icon="av:volume-down" class="x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon><paper-slider id="material-vslider" min="0" max="100" step="5" title="Volume" role="slider" tabindex="0" aria-disabled="false" value="0" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="x-scope paper-slider-0">
    <div id="sliderContainer" class="ring style-scope paper-slider">

      <div class="bar-container style-scope paper-slider">
        <paper-progress id="sliderBar" aria-hidden="true" class="style-scope paper-slider x-scope paper-progress-1" role="progressbar" value="0" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" aria-disabled="false" style="touch-action: none;">
    <div id="progressContainer" class="style-scope paper-progress">
      <div id="secondaryProgress" class="style-scope paper-progress" hidden="" style="transform: scaleX(0);"></div>
      <div id="primaryProgress" class="style-scope paper-progress" style="transform: scaleX(0);"></div>
    </div>
  </paper-progress>
      </div>

      <template is="dom-if" class="style-scope paper-slider"></template>

      <div id="sliderKnob" class="center-justified center horizontal layout style-scope paper-slider" style="touch-action: none; left: 0%;">
          <paper-ripple center="" id="ink" class="circle style-scope paper-slider" hidden="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
          <div id="sliderKnobInner" class="style-scope paper-slider" value="0"></div>
      </div>
    </div>

    <template is="dom-if" class="style-scope paper-slider"></template>
  </paper-slider><iron-icon id="material-volume-high" icon="av:volume-up" class="x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon><iron-icon id="material-volume-indicator" icon="av:volume-up" class="x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon></div><paper-icon-button data-id="cast" icon="hardware:cast" title="Cast" aria-label="Cast" role="button" tabindex="0" aria-disabled="false" class="x-scope paper-icon-button-0" style="display: none;">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M21 3H3c-1.1 0-2 .9-2 2v3h2V5h18v14h-7v2h7c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM1 18v3h3c0-1.66-1.34-3-3-3zm0-4v2c2.76 0 5 2.24 5 5h2c0-3.87-3.13-7-7-7zm0-4v2c4.97 0 9 4.03 9 9h2c0-6.08-4.93-11-11-11z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon>
  </paper-icon-button><div id="buy_button_player" style="display:none;"></div><paper-icon-button id="queue" data-id="queue" data-type="ap" icon="av:queue-music" role="button" tabindex="0" aria-disabled="false" class="x-scope paper-icon-button-0 target" title="Open queue" aria-label="Open queue">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M15 6H3v2h12V6zm0 4H3v2h12v-2zM3 16h8v-2H3v2zM17 6v8.18c-.31-.11-.65-.18-1-.18-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3V8h3V6h-5z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon>
  </paper-icon-button><div class="player-top-right-items"><div class="time-label"><span id="time_container_current" aria-label="Current track time: 27 seconds">0:27</span> / <span id="time_container_duration" aria-label="Track length: 4 minutes 19 seconds">4:19</span></div><paper-icon-button data-id="show-miniplayer" icon="open-in-new" title="Show mini player" aria-label="Show mini player" role="button" tabindex="0" aria-disabled="false" class="x-scope paper-icon-button-0">
    <paper-ripple id="ink" class="circle style-scope paper-icon-button" center="">

    <div id="background" class="style-scope paper-ripple"></div>
    <div id="waves" class="style-scope paper-ripple"></div>
  </paper-ripple>
    <iron-icon id="icon" class="style-scope paper-icon-button x-scope iron-icon-0"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" class="style-scope iron-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope iron-icon"><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z" class="style-scope iron-icon"></path></g></svg>
  </iron-icon>
  </paper-icon-button></div></div></div>

If that is not sufficient, please let me know how to proceed from here.

newgiin commented 8 years ago

This should be fixed with version 1.6.7. If it hasn't updated already, go to chrome://extensions and click the "Update extensions now" button in the upper right of the page.

ekovi commented 8 years ago

Hi Newgiin,

yes, the 1.6.7 works perfectly, thank you :)