From e91db86faef8d6b17961a1b73fbf07f0d2c8975d Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:09:10 +0600 Subject: [PATCH] Fix user notes not restoring when manga doesn't exist in DB (#1945) --- CHANGELOG.md | 1 + .../data/backup/restore/restorers/MangaRestorer.kt | 1 + .../main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt | 1 + data/src/main/sqldelight/tachiyomi/data/mangas.sq | 8 ++++---- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 990b6744d..5dda21c32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co ### Added - Add more Kaomoji for empty/error screens ([@ianfhunter](https://github.com/ianfhunter/)) ([#1909](https://github.com/mihonapp/mihon/pull/1909)) - Add user manga notes ([@imkunet](https://github.com/imkunet), [@AntsyLich](https://github.com/AntsyLich)) ([#428](https://github.com/mihonapp/mihon/pull/428)) + - Fix user notes not restoring when manga doesn't exist in DB ([@AntsyLich](https://github.com/AntsyLich)) ([#1945](https://github.com/mihonapp/mihon/pull/1945)) ### Fixes - Fix Bangumi search results including novels ([@MajorTanya](https://github.com/MajorTanya)) ([#1885](https://github.com/mihonapp/mihon/pull/1885)) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt index 77ffd67ae..3d1bc9e22 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt @@ -262,6 +262,7 @@ class MangaRestorer( dateAdded = manga.dateAdded, updateStrategy = manga.updateStrategy, version = manga.version, + notes = manga.notes, ) mangasQueries.selectLastInsertedRowId() } diff --git a/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt b/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt index 6c67f638b..35ac2b5b2 100644 --- a/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt +++ b/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt @@ -120,6 +120,7 @@ class MangaRepositoryImpl( dateAdded = manga.dateAdded, updateStrategy = manga.updateStrategy, version = manga.version, + notes = manga.notes, ) mangasQueries.selectLastInsertedRowId() } diff --git a/data/src/main/sqldelight/tachiyomi/data/mangas.sq b/data/src/main/sqldelight/tachiyomi/data/mangas.sq index bfc57713d..664bfb8be 100644 --- a/data/src/main/sqldelight/tachiyomi/data/mangas.sq +++ b/data/src/main/sqldelight/tachiyomi/data/mangas.sq @@ -83,8 +83,8 @@ getReadMangaNotInLibrary: SELECT * FROM mangas WHERE favorite = 0 AND _id IN ( - SELECT DISTINCT chapters.manga_id - FROM chapters + SELECT DISTINCT chapters.manga_id + FROM chapters WHERE read = 1 OR last_page_read != 0 ); @@ -151,8 +151,8 @@ WHERE favorite = 0 AND source IN :sourceIds; insert: -INSERT INTO mangas(source, url, artist, author, description, genre, title, status, thumbnail_url, favorite, last_update, next_update, initialized, viewer, chapter_flags, cover_last_modified, date_added, update_strategy, calculate_interval, last_modified_at, version) -VALUES (:source, :url, :artist, :author, :description, :genre, :title, :status, :thumbnailUrl, :favorite, :lastUpdate, :nextUpdate, :initialized, :viewerFlags, :chapterFlags, :coverLastModified, :dateAdded, :updateStrategy, :calculateInterval, 0, :version); +INSERT INTO mangas(source, url, artist, author, description, genre, title, status, thumbnail_url, favorite, last_update, next_update, initialized, viewer, chapter_flags, cover_last_modified, date_added, update_strategy, calculate_interval, last_modified_at, version, notes) +VALUES (:source, :url, :artist, :author, :description, :genre, :title, :status, :thumbnailUrl, :favorite, :lastUpdate, :nextUpdate, :initialized, :viewerFlags, :chapterFlags, :coverLastModified, :dateAdded, :updateStrategy, :calculateInterval, 0, :version, :notes); update: UPDATE mangas SET