Fix:Mark media as finished if less than 5 seconds remain on a sync and call progress sync again when last track ends #635

This commit is contained in:
advplyr 2022-05-29 12:55:14 -05:00
parent 6161daeef0
commit 93b8e11378
5 changed files with 18 additions and 6 deletions

View file

@ -173,9 +173,6 @@ class Server {
// Metadata folder static path
app.use('/metadata', this.authMiddleware.bind(this), express.static(global.MetadataPath))
// TODO: Are these necessary?
// Downloads folder static path
// app.use('/downloads', this.authMiddleware.bind(this), express.static(this.downloadManager.downloadDirPath))
// Static folder
app.use(express.static(Path.join(global.appRoot, 'static')))
@ -212,7 +209,7 @@ class Server {
const dyanimicRoutes = [
'/item/:id',
'/item/:id/manage',
'/item/:id/chapters',
'/audiobook/:id/chapters',
'/audiobook/:id/edit',
'/library/:library',
'/library/:library/search',
@ -220,6 +217,7 @@ class Server {
'/library/:library/authors',
'/library/:library/series/:id?',
'/config/users/:id',
'/config/users/:id/sessions',
'/collection/:id'
]
dyanimicRoutes.forEach((route) => app.get(route, (req, res) => res.sendFile(Path.join(distPath, 'index.html'))))

View file

@ -89,7 +89,9 @@ class MediaProgress {
}
}
if (this.progress >= 1 && !this.isFinished) {
var timeRemaining = this.duration - this.currentTime
// If time remaining is less than 5 seconds then mark as finished
if ((this.progress >= 1 || (!isNaN(timeRemaining) && timeRemaining < 5)) && !this.isFinished) {
this.isFinished = true
this.finishedAt = Date.now()
this.progress = 1