diff --git a/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt b/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt index cd5486bd5..85dc9c352 100644 --- a/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt +++ b/app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt @@ -142,6 +142,11 @@ class SyncChaptersWithSource( val removedChapters = dbChapters.filterNot { it.url in sourceUrls } + // The source no longer lists these, so their queued downloads could only fail + removedChapters.mapNotNull { downloadManager.getQueuedDownloadOrNull(it.id) } + .takeIf { it.isNotEmpty() } + ?.let(downloadManager::cancelQueuedDownloads) + // Return if there's nothing to add, delete, or update to avoid unnecessary db transactions. if (newChapters.isEmpty() && removedChapters.isEmpty() && updatedChapters.isEmpty()) { if (manualFetch || manga.fetchInterval == 0 || manga.nextUpdate < fetchWindow.first) {