From 5b5e2b26f9ee1043826c88cdb21f7eb45ed3bb93 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sun, 8 Feb 2026 21:04:59 +0100 Subject: [PATCH] Fix stale manga data in library update subscription (#1889) Regression 439e0c8284308a731b5cbd4255cd4b08f75660f0 --- .../suwayomi/tachidesk/graphql/types/UpdateType.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/UpdateType.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/UpdateType.kt index 7ccb2109b..2c61db0c5 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/UpdateType.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/UpdateType.kt @@ -129,6 +129,7 @@ enum class CategoryJobStatus { } class MangaUpdateType( + @get:GraphQLIgnore val manga: MangaType, val status: MangaJobStatus, ) { @@ -142,6 +143,16 @@ class MangaUpdateType( JobStatus.SKIPPED -> MangaJobStatus.SKIPPED }, ) + + fun manga(dataFetchingEnvironment: DataFetchingEnvironment): CompletableFuture { + // Clearing the data loader cache here everytime should be fine, because a manga gets sent only once for each status + val clearCache = status === MangaJobStatus.COMPLETE || status === MangaJobStatus.FAILED + if (clearCache) { + MangaType.clearCacheFor(manga.id, dataFetchingEnvironment) + } + + return dataFetchingEnvironment.getValueFromDataLoader("MangaDataLoader", manga.id) + } } class CategoryUpdateType(