Fix refreshPlaylist using outdated cache (#1000)

This commit is contained in:
Ace Beattie 2022-05-07 21:11:51 -06:00 committed by GitHub
parent 40c8f40422
commit 3f0302ccc0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1134,28 +1134,31 @@ const app = new Vue({
} }
}) })
}, },
async refreshPlaylists(localOnly = false) { async refreshPlaylists(localOnly = false, useCachedPlaylists = true) {
let self = this let self = this
let trackMap = this.cfg.advanced.playlistTrackMapping let trackMap = this.cfg.advanced.playlistTrackMapping
let newListing = [] let newListing = []
let trackMapping = {} let trackMapping = {}
const cachedPlaylist = await CiderCache.getCache("library-playlists")
const cachedTrackMapping = await CiderCache.getCache("library-playlists-tracks") if (useCachedPlaylists) {
const cachedPlaylist = await CiderCache.getCache("library-playlists")
const cachedTrackMapping = await CiderCache.getCache("library-playlists-tracks")
if (cachedPlaylist) { if (cachedPlaylist) {
console.debug("using cached playlists") console.debug("using cached playlists")
this.playlists.listing = cachedPlaylist this.playlists.listing = cachedPlaylist
self.sortPlaylists() self.sortPlaylists()
} else { } else {
console.debug("playlist has no cache") console.debug("playlist has no cache")
} }
if (cachedTrackMapping) { if (cachedTrackMapping) {
console.debug("using cached track mapping") console.debug("using cached track mapping")
this.playlists.trackMapping = cachedTrackMapping this.playlists.trackMapping = cachedTrackMapping
} }
if (localOnly) { if (localOnly) {
return return
}
} }
this.library.backgroundNotification.message = "Building playlist cache..." this.library.backgroundNotification.message = "Building playlist cache..."
@ -1260,7 +1263,7 @@ const app = new Vue({
} }
} }
).then(res => { ).then(res => {
self.refreshPlaylists() self.refreshPlaylists(false, false)
}) })
}, },
async editPlaylist(id, name = app.getLz('term.newPlaylist')) { async editPlaylist(id, name = app.getLz('term.newPlaylist')) {
@ -1275,7 +1278,7 @@ const app = new Vue({
} }
} }
).then(res => { ).then(res => {
self.refreshPlaylists() self.refreshPlaylists(false, false)
}) })
}, },
copyToClipboard(str) { copyToClipboard(str) {
@ -1319,7 +1322,7 @@ const app = new Vue({
}) })
self.sortPlaylists() self.sortPlaylists()
setTimeout(() => { setTimeout(() => {
app.refreshPlaylists() app.refreshPlaylists(false, false)
}, 8000) }, 8000)
}) })
}, },
@ -1336,6 +1339,9 @@ const app = new Vue({
if (found) { if (found) {
self.playlists.listing.splice(self.playlists.listing.indexOf(found), 1) self.playlists.listing.splice(self.playlists.listing.indexOf(found), 1)
} }
setTimeout(() => {
app.refreshPlaylists(false, false);
}, 8000);
}) })
} }
}, },
@ -2581,7 +2587,7 @@ const app = new Vue({
}) })
self.sortPlaylists() self.sortPlaylists()
setTimeout(() => { setTimeout(() => {
app.refreshPlaylists() app.refreshPlaylists(false, false)
}, 13000) }, 13000)
}) })
}, },