diff --git a/server/controllers/PodcastController.js b/server/controllers/PodcastController.js index 90b2c383..4bb6d014 100644 --- a/server/controllers/PodcastController.js +++ b/server/controllers/PodcastController.js @@ -498,6 +498,10 @@ class PodcastController { req.libraryItem.changed('libraryFiles', true) await req.libraryItem.save() + // update number of episodes + req.libraryItem.media.numEpisodes = req.libraryItem.media.podcastEpisodes.length + await req.libraryItem.media.save() + SocketAuthority.emitter('item_updated', req.libraryItem.toOldJSONExpanded()) res.json(req.libraryItem.toOldJSON()) } diff --git a/server/managers/PodcastManager.js b/server/managers/PodcastManager.js index 64d001a3..873a4283 100644 --- a/server/managers/PodcastManager.js +++ b/server/managers/PodcastManager.js @@ -232,6 +232,11 @@ class PodcastManager { await libraryItem.save() + if (libraryItem.media.numEpisodes !== libraryItem.media.podcastEpisodes.length) { + libraryItem.media.numEpisodes = libraryItem.media.podcastEpisodes.length + await libraryItem.media.save() + } + SocketAuthority.emitter('item_updated', libraryItem.toOldJSONExpanded()) const podcastEpisodeExpanded = podcastEpisode.toOldJSONExpanded(libraryItem.id) podcastEpisodeExpanded.libraryItem = libraryItem.toOldJSONExpanded() diff --git a/server/scanner/PodcastScanner.js b/server/scanner/PodcastScanner.js index 4958d5f7..8711362c 100644 --- a/server/scanner/PodcastScanner.js +++ b/server/scanner/PodcastScanner.js @@ -131,6 +131,11 @@ class PodcastScanner { let hasMediaChanges = false + if (existingPodcastEpisodes.length !== media.numEpisodes) { + media.numEpisodes = existingPodcastEpisodes.length + hasMediaChanges = true + } + // Check if cover was removed if (media.coverPath && libraryItemData.imageLibraryFilesRemoved.some(lf => lf.metadata.path === media.coverPath)) { media.coverPath = null @@ -283,7 +288,8 @@ class PodcastScanner { lastEpisodeCheck: 0, maxEpisodesToKeep: 0, maxNewEpisodesToDownload: 3, - podcastEpisodes: newPodcastEpisodes + podcastEpisodes: newPodcastEpisodes, + numEpisodes: newPodcastEpisodes.length } const libraryItemObj = libraryItemData.libraryItemObject