From 5896d2c9392784602107470498086e764c1e621e Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Tue, 16 Jun 2026 03:17:20 +0600 Subject: [PATCH] Fix compatibility with older backups Fixes #3413 --- .../eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt | 3 ++- .../java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt | 3 ++- .../src/main/kotlin/mihon/core/common/extensions/JsonObject.kt | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt index c74dbc6e4..09745f11f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt @@ -4,6 +4,7 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonObject import kotlinx.serialization.protobuf.ProtoNumber import mihon.core.common.extensions.EMPTY +import mihon.core.common.extensions.JsonObjectEmptyBytes import tachiyomi.data.MemoColumnAdapter import tachiyomi.domain.chapter.model.Chapter @@ -25,7 +26,7 @@ class BackupChapter( @ProtoNumber(10) var sourceOrder: Long = 0, @ProtoNumber(11) var lastModifiedAt: Long = 0, @ProtoNumber(12) var version: Long = 0, - @ProtoNumber(13) var memo: ByteArray = byteArrayOf(), + @ProtoNumber(13) var memo: ByteArray = JsonObjectEmptyBytes, ) { fun toChapterImpl(): Chapter { return Chapter.create().copy( diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt index 20012fc39..6736eb287 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt @@ -5,6 +5,7 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonObject import kotlinx.serialization.protobuf.ProtoNumber import mihon.core.common.extensions.EMPTY +import mihon.core.common.extensions.JsonObjectEmptyBytes import tachiyomi.data.MemoColumnAdapter import tachiyomi.domain.manga.model.Manga @@ -46,7 +47,7 @@ class BackupManga( @ProtoNumber(109) var version: Long = 0, @ProtoNumber(110) var notes: String = "", @ProtoNumber(111) var initialized: Boolean = false, - @ProtoNumber(112) var memo: ByteArray = byteArrayOf(), + @ProtoNumber(112) var memo: ByteArray = JsonObjectEmptyBytes, ) { fun getMangaImpl(): Manga { return Manga.create().copy( diff --git a/core/common/src/main/kotlin/mihon/core/common/extensions/JsonObject.kt b/core/common/src/main/kotlin/mihon/core/common/extensions/JsonObject.kt index 8ad4e6dbb..d7d17b164 100644 --- a/core/common/src/main/kotlin/mihon/core/common/extensions/JsonObject.kt +++ b/core/common/src/main/kotlin/mihon/core/common/extensions/JsonObject.kt @@ -4,5 +4,7 @@ import kotlinx.serialization.json.JsonObject val JsonObjectEmpty = JsonObject(emptyMap()) +val JsonObjectEmptyBytes = byteArrayOf(0x7B, 0x7D) + val JsonObject.Companion.EMPTY: JsonObject inline get() = JsonObjectEmpty