mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Add:Alert when progress is not syncing
This commit is contained in:
		
							parent
							
								
									bf928692d5
								
							
						
					
					
						commit
						e8cd18eac2
					
				| @ -71,7 +71,8 @@ export default { | ||||
|       sleepTimerRemaining: 0, | ||||
|       sleepTimer: null, | ||||
|       displayTitle: null, | ||||
|       initialPlaybackRate: 1 | ||||
|       initialPlaybackRate: 1, | ||||
|       syncFailedToast: null | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
| @ -380,6 +381,10 @@ export default { | ||||
|     }, | ||||
|     pauseItem() { | ||||
|       this.playerHandler.pause() | ||||
|     }, | ||||
|     showFailedProgressSyncs() { | ||||
|       if (!isNaN(this.syncFailedToast)) this.$toast.dismiss(this.syncFailedToast) | ||||
|       this.syncFailedToast = this.$toast('Progress is not being synced. Restart playback', { timeout: false, type: 'error' }) | ||||
|     } | ||||
|   }, | ||||
|   mounted() { | ||||
|  | ||||
| @ -20,6 +20,7 @@ export default class PlayerHandler { | ||||
|     this.currentSessionId = null | ||||
|     this.startTime = 0 | ||||
| 
 | ||||
|     this.failedProgressSyncs = 0 | ||||
|     this.lastSyncTime = 0 | ||||
|     this.lastSyncedAt = 0 | ||||
|     this.listeningTimeSinceSync = 0 | ||||
| @ -186,6 +187,7 @@ export default class PlayerHandler { | ||||
|   } | ||||
| 
 | ||||
|   prepareSession(session) { | ||||
|     this.failedProgressSyncs = 0 | ||||
|     this.startTime = session.currentTime | ||||
|     this.currentSessionId = session.id | ||||
|     this.displayTitle = session.displayTitle | ||||
| @ -286,8 +288,15 @@ export default class PlayerHandler { | ||||
|       currentTime | ||||
|     } | ||||
|     this.listeningTimeSinceSync = 0 | ||||
|     this.ctx.$axios.$post(`/api/session/${this.currentSessionId}/sync`, syncData, { timeout: 1000 }).catch((error) => { | ||||
|     this.ctx.$axios.$post(`/api/session/${this.currentSessionId}/sync`, syncData, { timeout: 1000 }).then(() => { | ||||
|       this.failedProgressSyncs = 0 | ||||
|     }).catch((error) => { | ||||
|       console.error('Failed to update session progress', error) | ||||
|       this.failedProgressSyncs++ | ||||
|       if (this.failedProgressSyncs >= 2) { | ||||
|         this.ctx.showFailedProgressSyncs() | ||||
|         this.failedProgressSyncs = 0 | ||||
|       } | ||||
|     }) | ||||
|   } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user