From f9621d2f60acd6ce299d6cce7f70ea4147229455 Mon Sep 17 00:00:00 2001 From: advplyr Date: Sun, 10 Sep 2023 15:10:26 -0500 Subject: [PATCH] Fix:Progress lost when app in background for period of time #828 --- layouts/default.vue | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/layouts/default.vue b/layouts/default.vue index 96dfa1c8..c3dbe210 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -238,13 +238,6 @@ export default { const prog = payload.data // MediaProgress console.log(`[default] userMediaProgressUpdate checking for local media progress ${payload.id}`) - // Check if this media item is currently open in the player, paused, and this progress update is coming from a different session - const isMediaOpenInPlayer = this.$store.getters['getIsMediaStreaming'](prog.libraryItemId, prog.episodeId) - if (isMediaOpenInPlayer && this.$store.getters['getCurrentPlaybackSessionId'] !== payload.sessionId && !this.$store.state.playerIsPlaying) { - console.log('[default] userMediaProgressUpdated for current open media item', payload.data.currentTime) - this.$eventBus.$emit('playback-time-update', payload.data.currentTime) - } - // Update local media progress if exists const localProg = await this.$db.getLocalMediaProgressForServerItem({ libraryItemId: prog.libraryItemId, episodeId: prog.episodeId }) @@ -257,6 +250,13 @@ export default { console.log(`[default] syncing progress server lastUpdate > local lastUpdate. server currentTime=${prog.currentTime} local currentTime=${localProg.currentTime} | server/local isFinished=${prog.isFinished}/${localProg.isFinished}`) } + // Check if this media item is currently open in the player, paused, and this progress update is coming from a different session + const isMediaOpenInPlayer = this.$store.getters['getIsMediaStreaming'](prog.libraryItemId, prog.episodeId) + if (isMediaOpenInPlayer && this.$store.getters['getCurrentPlaybackSessionId'] !== payload.sessionId && !this.$store.state.playerIsPlaying) { + console.log('[default] userMediaProgressUpdated for current open media item', payload.data.currentTime) + this.$eventBus.$emit('playback-time-update', payload.data.currentTime) + } + // Server progress is more up-to-date console.log(`[default] syncing progress from server with local item for "${prog.libraryItemId}" ${prog.episodeId ? `episode ${prog.episodeId}` : ''} | server lastUpdate=${prog.lastUpdate} > local lastUpdate=${localProg.lastUpdate}`) const payload = {