Skip to content
This repository has been archived by the owner on Jan 23, 2024. It is now read-only.

support configurable sync interval (bad UX when syncing too quickly) #53

Closed
yokaiichi opened this issue Apr 5, 2016 · 7 comments
Closed

Comments

@yokaiichi
Copy link

Everything was working fine yesterday and this morning, but as of the past 30 minutes (roughly), all of my [auto] playlists in Google Play Music itself are in a bad state. They are appearing as "unpopulated" in the UI (only gray headphone images), and when I click on one to open it, GPM gives me the error message "Cannot open playlist at this time. Please try again".

What's weird is that very occasionally, the playlists will BRIEFLY appear as populated, and I can get into one, but then about 10 seconds later the auto-refresh happens and I get kicked out with the "Cannot open...." message all over again.

@simon-weber
Copy link
Owner

Hm, that's troublesome. I'll take a look ASAP.

@simon-weber
Copy link
Owner

Mine seem to be working ok, so hopefully it's not a widespread issue. I do see a spike in errors reported from loadPlaylistContents requests, but they seem to be just from one user (maybe you?).

How many playlists do you have? If you have a lot, it's possible that the extension is generating a lot of traffic to Google, and they've throttled it in some way. We could test this by temporarily disabling the extension (you can do this from chrome://extensions), then waiting a bit to see if the playlists become accessible again.

You can also check out your logs to see if there's anything interesting. To find them:

  • navigate to chrome://extensions
  • check "developer mode" at the top right
  • click the "inspect views: background page" link under the extension listing. This will open a new window.
  • in the new window, click the "console" tab

It may be helpful to click the funnel button in the top left (just under the console tab) and filter to only errors or warnings.

Let me know what you find out!

@yokaiichi
Copy link
Author

Okay, a few observations:

  • Disabling your extension did in fact fix the problem. (But I had to reload the GPM tab itself.) All playlists appeared normally in GPM again.
  • No Dev console errors/warnings after disabling and reenabling per above.
  • This disable/reenable actually fixed a different bug that I though was "just how the extension worked". Ever since creating my first autoplaylist yesterday, the GPM UI would blink every 10 seconds (roughly) when I was looking at an [auto] playlist or playing songs from the [auto] playlist. If I scrolled down in the playlist, it would jump to the top again with every refresh. This behavior is now completely gone since disable/reenable.

Now for some questions:

Question 1: I'm a Full Account with you. If the extension is disabled for a prolonged period of time, do my [auto] playlists disappear from GPM, or is it simply that they won't be updated until the extension is reenabled?

Question 2: All of my 5 playlists so far are basically "this set of specific genres, either thumbs up or no thumbs, and I haven't played the song within the past 7/14/30 days" (the lastplayed value is different depending on the playlist). The idea here is to have some autoplaylists to rotate through older good songs that are long off my recent memory. So all of these have a "lastplayed" condition, all phrased in the "7 days ago" or "14 days ago" or "30 days ago" format. And because of the "lastplayed" aspect of them, they are going to constantly be auto-updating every time I listen to them with your expansion running. To make matters more interesting, all of these playlists are also "pinned" to my iPhone, which means I've downloaded them and therefore the GPM app for iOS is constantly updating its download cache as songs are played and your extension subsequently removes them. With that preamble, here's the question (lol): Is it better to simply enable your extension once per week for a short time so that it can update the GPM playlist on the Google Cloud side of things, and then disable your extension again so that it isn't constantly spamming the Google Cloud with change messages as I listen to each playlist?

@simon-weber
Copy link
Owner

Nice work!

If I scrolled down in the playlist, it would jump to the top again with every refresh. This behavior is now completely gone since disable/reenable.

Oh, interesting. I don't think my UI used to do this, but I just noticed it happen. I wonder if Google changed something?

I'll ticket this separately. Since we have a content script on that page, it's possible we could intercept the scroll when we know a refresh is about to happen.

Question 1:

While the extension is disabled your playlists will not update, and will also not be deleted from GPM. You can edit them manually in the GPM interface if you like; any changes will be overwritten the next time you enable the extension.

Question 2:

Up to you! My favorite playlists are of the exact same format, I pin them as well (on Android, though I doubt it makes a difference), and it seems to handle it ok.

That said, having to disable and re-enable the extension is obviously pretty poor UX, haha. How about a configurable sync period? Then you could dial it back from the default 1 minute until it's long enough for your liking (and Google's).

@yokaiichi
Copy link
Author

That said, having to disable and re-enable the extension is obviously pretty poor UX, haha. How about a configurable sync period? Then you could dial it back from the default 1 minute until it's long enough for your liking (and Google's).

I think this would be a fine addition to the product.

@simon-weber
Copy link
Owner

👍 I'll get it in the next release.

@simon-weber simon-weber self-assigned this Apr 6, 2016
@simon-weber
Copy link
Owner

I'm a dirty liar! I was eager to release the "rating thumb" field, so I just pushed a release without this.

I expect to get to this over the weekend, or perhaps sooner.

@simon-weber simon-weber changed the title Playlists in GPM have stopped being accessible support configurable sync interval (bad UX when syncing too quickly) Apr 7, 2016
@simon-weber simon-weber removed their assignment Apr 7, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants