From 40abc68a67a63daff5acd6397aec87dd095b2d61 Mon Sep 17 00:00:00 2001 From: radiostar Date: Sat, 23 May 2026 16:35:24 +0900 Subject: [PATCH] Use stable cover image routes --- src/all/kavita/build.gradle | 2 +- .../eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt | 10 +++++----- .../tachiyomi/extension/all/kavita/KavitaHelper.kt | 2 +- .../tachiyomi/extension/all/kavita/dto/MangaDto.kt | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/all/kavita/build.gradle b/src/all/kavita/build.gradle index 7175427c..ed0385ce 100644 --- a/src/all/kavita/build.gradle +++ b/src/all/kavita/build.gradle @@ -2,7 +2,7 @@ ext { kmkVersionCode = 1 extName = 'Kavita' extClass = '.KavitaFactory' - extVersionCode = 23 + extVersionCode = 24 isNsfw = false } diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt index 2cb1d1c7..baac7d0b 100644 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt +++ b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt @@ -1110,7 +1110,7 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou if (isComicLibrary && volume.minNumber.toInt() == KavitaConstants.UNNUMBERED_VOLUME) { for (chapter in volume.chapters) { if (chapter.coverImage.isNotBlank()) { - val url = "$apiUrl/Image/chapter-cover?chapterId=${chapter.id}&apiKey=$apiKey" + val url = "$apiUrl/Image/chapter-cover/${chapter.id}?apiKey=$apiKey" coverCandidates.add( Triple(url, chapter.pagesRead < chapter.pages, chapter.number.toFloatOrNull() ?: 0f), ) @@ -1124,7 +1124,7 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou ChapterType.of(chapter, volume) == ChapterType.SingleFileVolume } if (hasSingleFile && volume.coverImage.isNotBlank()) { - val url = "$apiUrl/Image/volume-cover?volumeId=${volume.id}&apiKey=$apiKey" + val url = "$apiUrl/Image/volume-cover/${volume.id}?apiKey=$apiKey" val isUnread = volume.pagesRead < volume.pages val number = volume.minNumber.toFloat() coverCandidates.add(Triple(url, isUnread, number)) @@ -1156,13 +1156,13 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou // Append cache-busting timestamp to always get the latest cover "$baseUrl&ts=$timestamp" - } ?: "$apiUrl/image/series-cover?seriesId=$seriesId&apiKey=$apiKey" + } ?: "$apiUrl/image/series-cover/$seriesId?apiKey=$apiKey" } catch (e: Exception) { Log.e(LOG_TAG, "Error fetching volumes for cover selection", e) - "$apiUrl/image/series-cover?seriesId=${result.seriesId ?: 0}&apiKey=$apiKey" + "$apiUrl/image/series-cover/${result.seriesId ?: 0}?apiKey=$apiKey" } } else { - "$apiUrl/image/series-cover?seriesId=${result.seriesId ?: 0}&apiKey=$apiKey" + "$apiUrl/image/series-cover/${result.seriesId ?: 0}?apiKey=$apiKey" } manga.status = when (result.publicationStatus) { diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaHelper.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaHelper.kt index ccd71a64..648f5d5c 100644 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaHelper.kt +++ b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaHelper.kt @@ -73,7 +73,7 @@ class KavitaHelper { SManga.create().apply { url = "$baseUrl/Series/${obj.id}" title = obj.name - thumbnail_url = "$baseUrl/image/series-cover?seriesId=${obj.id}&apiKey=$apiKey" + thumbnail_url = "$baseUrl/image/series-cover/${obj.id}?apiKey=$apiKey" } fun chapterFromVolume( diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/MangaDto.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/MangaDto.kt index 16ebcdb4..64e87ea0 100644 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/MangaDto.kt +++ b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/MangaDto.kt @@ -169,7 +169,7 @@ data class RelatedSeriesItem( url = "$baseUrl/Series/$id" thumbnail_url = when { !coverImage.isNullOrBlank() && (coverImage.startsWith("http://") || coverImage.startsWith("https://")) -> coverImage - else -> "$apiUrl/image/series-cover?seriesId=$id&apiKey=$apiKey" + else -> "$apiUrl/image/series-cover/$id?apiKey=$apiKey" } initialized = true }