diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Page.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Page.kt index d8e1cf41..1144bb46 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Page.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Page.kt @@ -112,11 +112,14 @@ object Page { if (pageEntry[PageTable.imageUrl] == null) { val trueImageUrl = getTrueImageUrl(tachiyomiPage, source) - transaction { - PageTable.update({ (PageTable.chapter eq chapterId) and (PageTable.index eq index) }) { - it[imageUrl] = trueImageUrl + if (trueImageUrl.length <= 2048) { + transaction { + PageTable.update({ (PageTable.chapter eq chapterId) and (PageTable.index eq index) }) { + it[imageUrl] = trueImageUrl + } } } + tachiyomiPage.imageUrl = trueImageUrl } val fileName = getPageName(index, chapterEntry[ChapterTable.pageCount]) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/chapter/ChapterForDownload.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/chapter/ChapterForDownload.kt index b1852d86..e15b742f 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/chapter/ChapterForDownload.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/chapter/ChapterForDownload.kt @@ -182,7 +182,13 @@ private class ChapterForDownload( PageTable.batchInsert(pageList) { page -> this[PageTable.index] = page.index this[PageTable.url] = page.url - this[PageTable.imageUrl] = page.imageUrl + // Only store imageUrl if it's not too long to prevent database constraint violations + this[PageTable.imageUrl] = + if (page.imageUrl != null && page.imageUrl!!.length <= 2048) { + page.imageUrl + } else { + null + } this[PageTable.chapter] = chapterId } }