Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Old cache for playlist tracks #526

Closed
MarcinWieczorek opened this issue Apr 15, 2020 · 7 comments
Closed

Old cache for playlist tracks #526

MarcinWieczorek opened this issue Apr 15, 2020 · 7 comments
Labels
bug confirmed A bug that has successfully been replicated and can be resolved

Comments

@MarcinWieczorek
Copy link

Describe the bug
There are some dynamic playlists, such as discover weekly. I noticed that they don't refresh properly and show outdated tracks. Same goes for custom playlists when you add songs to it - for example via your phone or other native spotify client.

To Reproduce
Steps to reproduce the behavior:

  1. Go to playlist Discover Weekly
  2. Wait till next monday
  3. Go to playlist Discover Weekly again
  4. See last week's tracks
  5. Open the playlist incognito tab
  6. See correct tracks

Expected behavior
Caches should be invalidated.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment details:

  • OS: Archlinux
  • Browser firefox
  • Iris version 3.46.0

Additional context
Weirdly enough, it seems that spotify returns wrong tracks. The issue persists with disabled cache in developer tools.

Cached (old):
scrot_20200415_112243

Incognito:
scrot_20200415_112306

@jaedb jaedb added the confirmed A bug that has successfully been replicated and can be resolved label Apr 15, 2020
@jaedb
Copy link
Owner

jaedb commented Apr 20, 2020

I expect this is only occurring when running from either localhost or via a SSL proxy. In these cases the Service Worker provides a cache for all fetch requests, including those you mention. Is this accurate in your case?

@MarcinWieczorek
Copy link
Author

I'm using basic mopidy setup and accessing the site via localhost as you said.

@jaedb
Copy link
Owner

jaedb commented Oct 28, 2020

Workaround released in 3.53. Playlist > Context menu > Refresh will force-refresh from the original source.

@jaedb jaedb closed this as completed Oct 28, 2020
@MarcinWieczorek
Copy link
Author

scrot_20201030_094220
This context menu?

@jaedb
Copy link
Owner

jaedb commented Nov 1, 2020

Yep - that's the one. Remember to clear your browser cache after upgrading :-)

@MarcinWieczorek
Copy link
Author

Some playlists have that button after clearing cache with ctrl+r, but some don't. Also sometimes I get frontend crashes as pasted below, I get multiple such errors. Is this something that should get a separate issue? I kind of seems to be related to jumping around playlists.

TypeError: a is null
    p http://localhost:6680/iris/app.min.js?v=1603873501:48
    p http://localhost:6680/iris/app.min.js?v=1603873501:48
    Ui http://localhost:6680/iris/app.min.js?v=1603873501:78
    Li http://localhost:6680/iris/app.min.js?v=1603873501:78
    yc http://localhost:6680/iris/app.min.js?v=1603873501:78
    us http://localhost:6680/iris/app.min.js?v=1603873501:78
    cs http://localhost:6680/iris/app.min.js?v=1603873501:78
    Zc http://localhost:6680/iris/app.min.js?v=1603873501:78
    Wo http://localhost:6680/iris/app.min.js?v=1603873501:78
    unstable_runWithPriority http://localhost:6680/iris/app.min.js?v=1603873501:86
    Yo http://localhost:6680/iris/app.min.js?v=1603873501:78
    Wo http://localhost:6680/iris/app.min.js?v=1603873501:78
    qo http://localhost:6680/iris/app.min.js?v=1603873501:78
    es http://localhost:6680/iris/app.min.js?v=1603873501:78
    notify http://localhost:6680/iris/app.min.js?v=1603873501:1
    notifyNestedSubs http://localhost:6680/iris/app.min.js?v=1603873501:1
    handleChangeWrapper http://localhost:6680/iris/app.min.js?v=1603873501:1
    y http://localhost:6680/iris/app.min.js?v=1603873501:1
    hn http://localhost:6680/iris/app.min.js?v=1603873501:116
    rn http://localhost:6680/iris/app.min.js?v=1603873501:116
    Ft http://localhost:6680/iris/app.min.js?v=1603873501:116
    Mt http://localhost:6680/iris/app.min.js?v=1603873501:116
    Qt http://localhost:6680/iris/app.min.js?v=1603873501:116
    pt http://localhost:6680/iris/app.min.js?v=1603873501:116
    Nt http://localhost:6680/iris/app.min.js?v=1603873501:116
    u http://localhost:6680/iris/app.min.js?v=1603873501:62
    e http://localhost:6680/iris/app.min.js?v=1603873501:116
    G http://localhost:6680/iris/app.min.js?v=1603873501:116
    dispatch http://localhost:6680/iris/app.min.js?v=1603873501:1
    Nt http://localhost:6680/iris/app.min.js?v=1603873501:116
    promise callback*Nt</</</< http://localhost:6680/iris/app.min.js?v=1603873501:116
    u http://localhost:6680/iris/app.min.js?v=1603873501:62
    e http://localhost:6680/iris/app.min.js?v=1603873501:116
    G http://localhost:6680/iris/app.min.js?v=1603873501:116
    dispatch http://localhost:6680/iris/app.min.js?v=1603873501:1
    fe http://localhost:6680/iris/app.min.js?v=1603873501:116
    e http://localhost:6680/iris/app.min.js?v=1603873501:116
    promise callback*$e/</< http://localhost:6680/iris/app.min.js?v=1603873501:116
    G http://localhost:6680/iris/app.min.js?v=1603873501:116
    l http://localhost:6680/iris/app.min.js?v=1603873501:1
    i http://localhost:6680/iris/app.min.js?v=1603873501:116
    value http://localhost:6680/iris/app.min.js?v=1603873501:116
    ac http://localhost:6680/iris/app.min.js?v=1603873501:78
    ds http://localhost:6680/iris/app.min.js?v=1603873501:78
    unstable_runWithPriority http://localhost:6680/iris/app.min.js?v=1603873501:86
    Yo http://localhost:6680/iris/app.min.js?v=1603873501:78
    ps http://localhost:6680/iris/app.min.js?v=1603873501:78
    Zc http://localhost:6680/iris/app.min.js?v=1603873501:78
    Wo http://localhost:6680/iris/app.min.js?v=1603873501:78
    unstable_runWithPriority http://localhost:6680/iris/app.min.js?v=1603873501:86
    Yo http://localhost:6680/iris/app.min.js?v=1603873501:78
    Wo http://localhost:6680/iris/app.min.js?v=1603873501:78
    qo http://localhost:6680/iris/app.min.js?v=1603873501:78
    Kc http://localhost:6680/iris/app.min.js?v=1603873501:78
    enqueueSetState http://localhost:6680/iris/app.min.js?v=1603873501:78
    setState http://localhost:6680/iris/app.min.js?v=1603873501:70
    t http://localhost:6680/iris/app.min.js?v=1603873501:116
    y http://localhost:6680/iris/app.min.js?v=1603873501:1
    Nn http://localhost:6680/iris/app.min.js?v=1603873501:116
    y http://localhost:6680/iris/app.min.js?v=1603873501:116
    M http://localhost:6680/iris/app.min.js?v=1603873501:116
    promise callback*M/</< http://localhost:6680/iris/app.min.js?v=1603873501:116
    promise callback*M/< http://localhost:6680/iris/app.min.js?v=1603873501:116
    u http://localhost:6680/iris/app.min.js?v=1603873501:1
    M http://localhost:6680/iris/app.min.js?v=1603873501:116
    y http://localhost:6680/iris/app.min.js?v=1603873501:1
    hn http://localhost:6680/iris/app.min.js?v=1603873501:116
    rn http://localhost:6680/iris/app.min.js?v=1603873501:116
    Ft http://localhost:6680/iris/app.min.js?v=1603873501:116
    Mt http://localhost:6680/iris/app.min.js?v=1603873501:116
    Qt http://localhost:6680/iris/app.min.js?v=1603873501:116
    pt http://localhost:6680/iris/app.min.js?v=1603873501:116
    Nt http://localhost:6680/iris/app.min.js?v=1603873501:116
    u http://localhost:6680/iris/app.min.js?v=1603873501:62
    e http://localhost:6680/iris/app.min.js?v=1603873501:116
    G http://localhost:6680/iris/app.min.js?v=1603873501:116
    persist http://localhost:6680/iris/app.min.js?v=1603873501:116
    <anonymous> http://localhost:6680/iris/app.min.js?v=1603873501:116
    n http://localhost:6680/iris/app.min.js?v=1603873501:1
    <anonymous> http://localhost:6680/iris/app.min.js?v=1603873501:62
    n http://localhost:6680/iris/app.min.js?v=1603873501:1
    <anonymous> http://localhost:6680/iris/app.min.js?v=1603873501:1
    <anonymous> http://localhost:6680/iris/app.min.js?v=1603873501:1
app.min.js:78:82385

@jaedb
Copy link
Owner

jaedb commented Nov 2, 2020

@MarcinWieczorek yes a new issue please. The feature of the original issue has been delivered, but I suspect the issue you're witnessing would affect more than just playlist tracks.

Please also enable Settings > Debug > Test Mode for more verbose error logs. It would be awesome if you could track down any particular (public) playlists that trigger the issue for me to more quickly create a fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug confirmed A bug that has successfully been replicated and can be resolved
Projects
None yet
Development

No branches or pull requests

2 participants