From 1839f6c026f3ce8b0e9a9f8b410ec02efd456f76 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sun, 9 Jun 2024 17:47:22 +0200 Subject: [PATCH] Update metadata in source browse only if new data is not null Browsing a source loads only a minimal representation of a manga which does not include some metadata. This metadata is only loaded when the specific manga gets fetched. Thus, when the extra metadata of a manga was already loaded, it got removed when browsing the source and a page response included this manga --- .../kotlin/suwayomi/tachidesk/manga/impl/MangaList.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/MangaList.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/MangaList.kt index 9aa0a1b641..5b8961df72 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/MangaList.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/MangaList.kt @@ -88,12 +88,12 @@ object MangaList { mangaToUpdate.forEach { (sManga, manga) -> addBatch(EntityID(manga[MangaTable.id].value, MangaTable)) this[MangaTable.title] = sManga.title - this[MangaTable.artist] = sManga.artist - this[MangaTable.author] = sManga.author - this[MangaTable.description] = sManga.description - this[MangaTable.genre] = sManga.genre + this[MangaTable.artist] = sManga.artist ?: manga[MangaTable.artist] + this[MangaTable.author] = sManga.author ?: manga[MangaTable.author] + this[MangaTable.description] = sManga.description ?: manga[MangaTable.description] + this[MangaTable.genre] = sManga.genre ?: manga[MangaTable.genre] this[MangaTable.status] = sManga.status - this[MangaTable.thumbnail_url] = sManga.thumbnail_url + this[MangaTable.thumbnail_url] = sManga.thumbnail_url ?: manga[MangaTable.thumbnail_url] this[MangaTable.updateStrategy] = sManga.update_strategy.name if (!sManga.thumbnail_url.isNullOrEmpty() && manga[MangaTable.thumbnail_url] != sManga.thumbnail_url) { this[MangaTable.thumbnailUrlLastFetched] = Instant.now().epochSecond