From 18528fbd92f1f952a81b5c9db60d633e7296a453 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+antsylich@users.noreply.github.com> Date: Wed, 28 May 2025 09:05:14 +0700 Subject: [PATCH] fix: Fix mark existing duplicate read chapters as read option not working in some cases --- .../eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt index 960654e072..f3699a62cf 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt @@ -67,6 +67,7 @@ import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch +import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withContext import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get @@ -156,6 +157,11 @@ class ReaderViewModel( private var finished = false private var chapterToDownload: Download? = null + private val unfilteredChapterList by lazy { + val manga = manga!! + runBlocking { getChapter.awaitAll(manga, filterScanlators = false) } + } + private lateinit var chapterList: List private var chapterItems = emptyList() @@ -639,9 +645,8 @@ class ReaderViewModel( .contains(LibraryPreferences.MARK_DUPLICATE_READ_CHAPTER_READ_EXISTING) if (!markDuplicateAsRead) return - val duplicateUnreadChapters = chapterList - .mapNotNull { - val chapter = it.chapter + val duplicateUnreadChapters = unfilteredChapterList + .mapNotNull { chapter -> if ( !chapter.read && chapter.isRecognizedNumber &&