Fix scanner isInvalid flag and recursive path symlink bug

This commit is contained in:
Tiberiu Ichim 2026-02-22 19:59:19 +02:00
parent ed48fd8558
commit d8c89f2b8e
6 changed files with 78 additions and 9 deletions

View file

@ -404,9 +404,15 @@ class BookScanner {
existingLibraryItem.isMissing = true
libraryItemUpdated = true
}
} else if (existingLibraryItem.isMissing) {
libraryScan.addLog(LogLevel.INFO, `Book "${bookMetadata.title}" was missing but now has media files. Setting library item as NOT missing`)
existingLibraryItem.isMissing = false
} else if (existingLibraryItem.isMissing || existingLibraryItem.isInvalid) {
if (existingLibraryItem.isMissing) {
libraryScan.addLog(LogLevel.INFO, `Book "${bookMetadata.title}" was missing but now has media files. Setting library item as NOT missing`)
existingLibraryItem.isMissing = false
}
if (existingLibraryItem.isInvalid) {
libraryScan.addLog(LogLevel.INFO, `Book "${bookMetadata.title}" was invalid but now has media files. Setting library item as NOT invalid`)
existingLibraryItem.isInvalid = false
}
libraryItemUpdated = true
}

View file

@ -211,9 +211,10 @@ class LibraryItemScanData {
existingLibraryItem.ctime = this.ctimeMs
this.hasChanges = true
}
if (existingLibraryItem.isMissing) {
libraryScan.addLog(LogLevel.DEBUG, `Library item "${existingLibraryItem.relPath}" was missing but now found`)
if (existingLibraryItem.isMissing || existingLibraryItem.isInvalid) {
libraryScan.addLog(LogLevel.DEBUG, `Library item "${existingLibraryItem.relPath}" was missing or invalid but now found`)
existingLibraryItem.isMissing = false
existingLibraryItem.isInvalid = false
this.hasChanges = true
}

View file

@ -239,6 +239,18 @@ class PodcastScanner {
libraryItemUpdated = true
}
if (existingLibraryItem.isMissing || existingLibraryItem.isInvalid) {
if (existingLibraryItem.isMissing) {
libraryScan.addLog(LogLevel.INFO, `Podcast "${podcastMetadata.title}" was missing but is now found. Setting library item as NOT missing`)
existingLibraryItem.isMissing = false
}
if (existingLibraryItem.isInvalid) {
libraryScan.addLog(LogLevel.INFO, `Podcast "${podcastMetadata.title}" was invalid but is now found. Setting library item as NOT invalid`)
existingLibraryItem.isInvalid = false
}
libraryItemUpdated = true
}
// Save Podcast changes to db
if (hasMediaChanges) {
await media.save()