From 3fe7d28d5d5e62fb0a8b98d85cca809c00e2dac5 Mon Sep 17 00:00:00 2001 From: wvffle Date: Mon, 31 Oct 2022 21:51:08 +0000 Subject: [PATCH] Fix player migration errors --- front/src/composables/audio/queue.ts | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/front/src/composables/audio/queue.ts b/front/src/composables/audio/queue.ts index 4844d8182..5d108cd71 100644 --- a/front/src/composables/audio/queue.ts +++ b/front/src/composables/audio/queue.ts @@ -13,7 +13,6 @@ import { useTracks } from '~/composables/audio/tracks' import { gettext } from '~/init/locale' import axios from 'axios' -import { set } from 'idb-keyval' import { setGain } from './audio-api' export interface QueueTrackSource { @@ -313,20 +312,27 @@ export const useQueue = createGlobalState(() => { // Migrate old queue format to the new one if (localStorage.queue) { (async () => { - const { queue: { currentIndex: index, tracks } } = JSON.parse(localStorage.queue) as { queue: { currentIndex: number, tracks: Track[] } } - if (tracks.length !== 0) { - await enqueue(...tracks) + const { queue: { currentIndex: index, tracks: oldTracks } } = JSON.parse(localStorage.queue) as { queue: { currentIndex: number, tracks: Track[] } } + if (oldTracks.length !== 0) { + tracks.value.length = 0 + await enqueue(...oldTracks) } currentIndex.value = index delete localStorage.queue - - const { looping: loopingMode, volume } = JSON.parse(localStorage.player) - looping.value = loopingMode - setGain(volume) - delete localStorage.player })().catch((error) => console.error('Could not successfully migrate between queue versions', error)) } + + if (localStorage.player) { + try { + const { player: { looping: loopingMode, volume } } = JSON.parse(localStorage.player) as { player: { looping: LoopingMode, volume: number }} + looping.value = loopingMode ?? 0 + setGain(volume ?? 0.7) + delete localStorage.player + } catch (error) { + console.error('Could not successfully migrate between player versions', error) + } + } } return {