From 4d7b7617a90010e9bc40730e2ab2c3e71675e8e4 Mon Sep 17 00:00:00 2001 From: Mitchell Syer Date: Mon, 29 Jun 2026 14:52:37 -0400 Subject: [PATCH] Fix backup corruption with new extension lib (#2146) * Fix backup corruption with new extension lib * Fix missing chapter memo backup --- server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Manga.kt | 1 + .../manga/impl/backup/proto/handlers/BackupMangaHandler.kt | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Manga.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Manga.kt index 64e7aaefc..b5cb436ac 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Manga.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Manga.kt @@ -238,6 +238,7 @@ object Manga { it[MangaTable.lastFetchedAt] = Instant.now().epochSecond it[MangaTable.updateStrategy] = sManga.update_strategy.name + it[MangaTable.memo] = Json.encodeToString(sManga.memo) } } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/handlers/BackupMangaHandler.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/handlers/BackupMangaHandler.kt index 02343faba..5b49814b9 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/handlers/BackupMangaHandler.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/backup/proto/handlers/BackupMangaHandler.kt @@ -8,7 +8,6 @@ package suwayomi.tachidesk.manga.impl.backup.proto.handlers * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import eu.kanade.tachiyomi.source.model.UpdateStrategy -import kotlinx.serialization.json.Json import org.jetbrains.exposed.v1.core.ResultRow import org.jetbrains.exposed.v1.core.SortOrder import org.jetbrains.exposed.v1.core.and @@ -78,7 +77,7 @@ object BackupMangaHandler { lastModifiedAt = mangaRow[MangaTable.lastModifiedAt], version = mangaRow[MangaTable.version], initialized = mangaRow[MangaTable.initialized], - memo = Json.encodeToString(mangaRow[MangaTable.memo]).encodeToByteArray(), + memo = mangaRow[MangaTable.memo].encodeToByteArray(), ) val mangaId = mangaRow[MangaTable.id].value @@ -116,6 +115,7 @@ object BackupMangaHandler { sourceOrder = chapters.size - it[ChapterTable.sourceOrder], lastModifiedAt = it[ChapterTable.lastModifiedAt], version = it[ChapterTable.version], + memo = it[ChapterTable.memo].encodeToByteArray(), ).apply { if (flags.includeClientData) { this.meta = chapterToMeta[it[ChapterTable.id].value] ?: emptyMap()