Merge pull request #3984 from advplyr/fix-chapter-end-sleep-timer

Fix chapter end sleep timer sometimes not stopping #3969
This commit is contained in:
advplyr 2025-02-14 16:39:26 -06:00 committed by GitHub
commit fe4e0145c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -85,7 +85,8 @@ export default {
displayTitle: null, displayTitle: null,
currentPlaybackRate: 1, currentPlaybackRate: 1,
syncFailedToast: null, syncFailedToast: null,
coverAspectRatio: 1 coverAspectRatio: 1,
lastChapterId: null
} }
}, },
computed: { computed: {
@ -236,12 +237,16 @@ export default {
} }
}, 1000) }, 1000)
}, },
checkChapterEnd(time) { checkChapterEnd() {
if (!this.currentChapter) return if (!this.currentChapter) return
const chapterEndTime = this.currentChapter.end
const tolerance = 0.75 // Track chapter transitions by comparing current chapter with last chapter
if (time >= chapterEndTime - tolerance) { if (this.lastChapterId !== this.currentChapter.id) {
this.sleepTimerEnd() // Chapter changed - if we had a previous chapter, this means we crossed a boundary
if (this.lastChapterId) {
this.sleepTimerEnd()
}
this.lastChapterId = this.currentChapter.id
} }
}, },
sleepTimerEnd() { sleepTimerEnd() {
@ -301,7 +306,7 @@ export default {
} }
if (this.sleepTimerType === this.$constants.SleepTimerTypes.CHAPTER && this.sleepTimerSet) { if (this.sleepTimerType === this.$constants.SleepTimerTypes.CHAPTER && this.sleepTimerSet) {
this.checkChapterEnd(time) this.checkChapterEnd()
} }
}, },
setDuration(duration) { setDuration(duration) {