From a9d98e5048561ae4e21c49416837db587434184a Mon Sep 17 00:00:00 2001 From: dan-malprod <135902647+dan-malprod@users.noreply.github.com> Date: Tue, 16 Jan 2024 18:20:37 +0100 Subject: [PATCH 01/10] [skip ci] Updated Issue and Feature Request templates (#41) * Update version in issue template * Update request_feature.yml --- .github/ISSUE_TEMPLATE/report_issue.yml | 4 ++-- .github/ISSUE_TEMPLATE/request_feature.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/report_issue.yml b/.github/ISSUE_TEMPLATE/report_issue.yml index d4683f90d..a85728fbc 100644 --- a/.github/ISSUE_TEMPLATE/report_issue.yml +++ b/.github/ISSUE_TEMPLATE/report_issue.yml @@ -53,7 +53,7 @@ body: label: Mihon version description: You can find your Mihon version in **More → About**. placeholder: | - Example: "0.15.3" + Example: "0.16.0" validations: required: true @@ -98,7 +98,7 @@ body: required: true - label: I have gone through the [FAQ](https://mihon.app/docs/faq/general) and [troubleshooting guide](https://mihon.app/docs/guides/troubleshooting/). required: true - - label: I have updated the app to version **[0.15.3](https://github.com/mihonapp/mihon/releases/latest)**. + - label: I have updated the app to version **[0.16.0](https://github.com/mihonapp/mihon/releases/latest)**. required: true - label: I have updated all installed extensions. required: true diff --git a/.github/ISSUE_TEMPLATE/request_feature.yml b/.github/ISSUE_TEMPLATE/request_feature.yml index e976bde24..29733628d 100644 --- a/.github/ISSUE_TEMPLATE/request_feature.yml +++ b/.github/ISSUE_TEMPLATE/request_feature.yml @@ -33,7 +33,7 @@ body: required: true - label: If this is an issue with an official extension, I should be opening an issue in the [extensions repository](https://github.com/tachiyomiorg/extensions/issues/new/choose). required: true - - label: I have updated the app to version **[0.15.3](https://github.com/mihonapp/mihon/releases/latest)**. + - label: I have updated the app to version **[0.16.0](https://github.com/mihonapp/mihon/releases/latest)**. required: true - label: I will fill out all of the requested information in this form. required: true From dc6d4f991745466ee97741c8df5dd62ea1681999 Mon Sep 17 00:00:00 2001 From: Jere <46138771+jerpism@users.noreply.github.com> Date: Wed, 17 Jan 2024 06:48:30 +0200 Subject: [PATCH 02/10] Fix minor grammatical errors in Finnish strings (#64) --- i18n/src/commonMain/resources/MR/fi/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/src/commonMain/resources/MR/fi/strings.xml b/i18n/src/commonMain/resources/MR/fi/strings.xml index d75700acd..b44e5d964 100644 --- a/i18n/src/commonMain/resources/MR/fi/strings.xml +++ b/i18n/src/commonMain/resources/MR/fi/strings.xml @@ -143,7 +143,7 @@ Luottamattomat laajennokset Tämä laajennus on allekirjoitettu luottamattomalla sertifikaatilla ja sitä ei ole aktivoitu. \n -\nHaitallinen laajennus voisi lukea mahdolliset kirjautumistiedot Mihonsta tai suorittaa luvatonta koodia. +\nHaitallinen laajennus voisi lukea mahdolliset kirjautumistiedot Mihonista tai suorittaa luvatonta koodia. \n \nLuottamalla tähän sertifikaattiin hyväksyt nämä riskit. Koko näyttö @@ -348,7 +348,7 @@ Kiinnitä Valitse käänteinen Jatkuva pystysuora - WebView on pakollinen Mihonssa + WebView on pakollinen Mihonissa Palautus on jo käynnissä Varmuuskopiointi on jo käynnissä Sivuntäyttö @@ -495,7 +495,7 @@ Pois päältä Päällä Aloitusopas - Varoitus: massalataukset voivat johtaa siihen, että lähteet muuttuvat hitaammiksi käyttää ja/tai ne estävät Mihonn käytön. Napauta saadaksesi lisätietoja. + Varoitus: massalataukset voivat johtaa siihen, että lähteet muuttuvat hitaammiksi käyttää ja/tai ne estävät Mihonin käytön. Napauta saadaksesi lisätietoja. Näytä manga Kansikuva ruudukko Dynaaminen @@ -615,4 +615,4 @@ Varmuuskopioita kannattaa säilyttää myös muissa paikoissa. Toivelista Viimeksi luettua lukua ei voitu avata - \ No newline at end of file + From 18497154183356bb0d469b27827f9f7d6b7a3130 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Wed, 17 Jan 2024 13:19:49 +0600 Subject: [PATCH 03/10] Fix icons not filled Closes #3 --- .../res/drawable/ic_launcher_background.xml | 17 ++++++----------- .../res/drawable/ic_launcher_foreground.xml | 18 ++++++++++-------- .../res/drawable/ic_launcher_background.xml | 18 +++--------------- .../res/drawable/ic_launcher_foreground.xml | 18 ++++++++++-------- app/src/main/res/mipmap/ic_launcher.xml | 2 +- 5 files changed, 30 insertions(+), 43 deletions(-) diff --git a/app/src/debug/res/drawable/ic_launcher_background.xml b/app/src/debug/res/drawable/ic_launcher_background.xml index 54f998b1c..39fec8d43 100644 --- a/app/src/debug/res/drawable/ic_launcher_background.xml +++ b/app/src/debug/res/drawable/ic_launcher_background.xml @@ -3,19 +3,14 @@ android:height="108dp" android:viewportWidth="432" android:viewportHeight="432"> - + + + - - diff --git a/app/src/debug/res/drawable/ic_launcher_foreground.xml b/app/src/debug/res/drawable/ic_launcher_foreground.xml index b293ee17e..1d32fd7e0 100644 --- a/app/src/debug/res/drawable/ic_launcher_foreground.xml +++ b/app/src/debug/res/drawable/ic_launcher_foreground.xml @@ -3,12 +3,14 @@ android:height="108dp" android:viewportWidth="432" android:viewportHeight="432"> - - - + + + diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml index 04ac2248a..d9630c95f 100644 --- a/app/src/main/res/drawable/ic_launcher_background.xml +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -3,23 +3,11 @@ android:height="108dp" android:viewportWidth="432" android:viewportHeight="432"> - + + - - - diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml index b293ee17e..c3dca7a15 100644 --- a/app/src/main/res/drawable/ic_launcher_foreground.xml +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -3,12 +3,14 @@ android:height="108dp" android:viewportWidth="432" android:viewportHeight="432"> - - - + + + diff --git a/app/src/main/res/mipmap/ic_launcher.xml b/app/src/main/res/mipmap/ic_launcher.xml index 04091bd10..80faec845 100644 --- a/app/src/main/res/mipmap/ic_launcher.xml +++ b/app/src/main/res/mipmap/ic_launcher.xml @@ -3,4 +3,4 @@ - \ No newline at end of file + From 277be026823fa93d53d172904fcd2aa6a410f91a Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Wed, 17 Jan 2024 13:29:42 +0600 Subject: [PATCH 04/10] Update project icon --- .idea/icon.png | Bin 14070 -> 26887 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.idea/icon.png b/.idea/icon.png index ead7c32417b2071c5145738579fd5568fdaccc4c..cd287a6c46643f4747b4039cd86e0a551bd78860 100644 GIT binary patch literal 26887 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 Date: Wed, 17 Jan 2024 15:05:06 +0700 Subject: [PATCH 05/10] Fix Indonesian translation (#68) Fix minor Indonesian translation --- .../commonMain/resources/MR/in/strings.xml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/src/commonMain/resources/MR/in/strings.xml b/i18n/src/commonMain/resources/MR/in/strings.xml index ff65294de..df35b8264 100644 --- a/i18n/src/commonMain/resources/MR/in/strings.xml +++ b/i18n/src/commonMain/resources/MR/in/strings.xml @@ -192,7 +192,7 @@ Tambahkan ke pustaka\? Gambar disimpan Filter khusus - Tetapkan sebagai sampul + Terapkan sebagai sampul Sampul telah diperbarui Halaman: %1$d Bab berikutnya tak ditemukan @@ -406,15 +406,15 @@ Kemajuan Masalah Pelacakan tidak tersinkronisasi di: - Sumber dari ekstensi ini mungkin berisi konten DEWASA (18+) + Sumber dari ekstensi ini mungkin berisi konten DEWASA (NSFW 18+) 18+ Hapus bab yang ditandai Hapus chapter - Hal ini tidak mencegah ekstensi yang tidak resmi atau berpotensi salah ditandai untuk menampilkan konten NSFW (18+) di dalam aplikasi. + Hal ini tidak mencegah ekstensi non-resmi atau konten DEWASA (NSFW 18+) yang tidak ditandai dengan benar muncul di dalam aplikasi. Tidak ada bab yang ditemukan Pengaturan bab bawaan diperbarui - Tetapkan sebagai bawaan - Juga terapkan untuk semua entri di pustaka saya + Terapkan sebagai bawaan + Terapkan pula untuk semua entri di pustaka saya Apakah anda yakin ingin menyimpan pengaturan ini sebagai bawaan\? Pengaturan bab %1$s: %2$s, halaman %3$d @@ -573,7 +573,7 @@ Pindahkan seri ke atas Versi baru tersedia dari perilisan resmi. Ketuk untuk mempelajari migrasi dari perilisan non-resmi dari F-Droid. Dinonaktifkan - Error menyimpan gambar + Gagal menyimpan gambar Tidak ada entri perpustakaan untuk dicadangkan Buka di Github Membersihkan data WebView @@ -700,7 +700,7 @@ Geser kekiri Ketuk dua kali untuk memperbesar %d per baris - Tetapkan jeda waktu + Terapkan jeda waktu Frekuensi pembaruan yang disesuaikan Dilewati karena tidak ada rilis yang diharapkan hari ini Pembaruan yang diharapkan berikutnya @@ -783,7 +783,7 @@ Tambahkan repo lain ke Mihon. Seharusnya URL yang memiliki akhiran \"index.min.json\". Repositori ekstensi Anda tidak memiliki repositori yang ditetapkan. - Keseluruhan eror: + Kesalahan penuh: Repositori ini sudah ada! URL Repo URL repo tidak valid @@ -793,9 +793,9 @@ Apa Anda yakin ingin menghapus repo \"%s\"? Bab baru diperkirakan akan dirils sekitar %1$s, diperiksa setiap sekitar %2$s. Tersedia:%1$s/Total:%2$s - Keseringan pembaruan yang di kostumisasi: + Frekuensi pembaruan khusus: Nord Segera - Mencabut ekstensi tidak dikenal yang tepercaya + Cabut izin ekstensi tidak dikenal yang tepercaya Repo sumber terbuka \ No newline at end of file From 3c3a1cd448ab1f653ddd12b2afe0cba38968d1b9 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Wed, 17 Jan 2024 16:01:26 +0600 Subject: [PATCH 06/10] [skip ci] Refer to the preview build as beta --- README.md | 10 +++++----- .../more/settings/screen/about/AboutScreen.kt | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 63a3a3858..a059570f9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -| Build | Stable | Weekly Preview | Support Server | -|-------|----------|---------|---------| -| [![CI](https://github.com/mihonapp/mihon/actions/workflows/build_push.yml/badge.svg)](https://github.com/mihonapp/mihon/actions/workflows/build_push.yml) | [![stable release](https://img.shields.io/github/release/mihonapp/mihon.svg?maxAge=3600&label=download)](https://github.com/mihonapp/mihon/releases) | [![latest preview build](https://img.shields.io/github/v/release/mihonapp/mihon-preview.svg?maxAge=3600&label=download)](https://github.com/mihonapp/mihon-preview/releases) | [![Discord](https://img.shields.io/discord/1195734228319617024.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/mihon) | +| Build | Stable | Weekly Beta | Support Server | +|-------|--------|-------------|----------------| +| [![CI](https://github.com/mihonapp/mihon/actions/workflows/build_push.yml/badge.svg)](https://github.com/mihonapp/mihon/actions/workflows/build_push.yml) | [![stable release](https://img.shields.io/github/release/mihonapp/mihon.svg?maxAge=3600&label=download)](https://github.com/mihonapp/mihon/releases) | [![latest beta build](https://img.shields.io/github/v/release/mihonapp/mihon-preview.svg?maxAge=3600&label=download)](https://github.com/mihonapp/mihon-preview/releases) | [![Discord](https://img.shields.io/discord/1195734228319617024.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/mihon) | # ![app icon](./.github/readme-images/app-icon.png)Mihon Mihon is a free and open source manga reader for Android 8.0 and above. @@ -20,7 +20,7 @@ Features include: ## Download Get the app from our [releases page](https://github.com/mihonapp/mihon/releases). -If you want to try new features before they get to the stable release, you can download the preview version [here](https://github.com/mihonapp/mihon-preview/releases). +If you want to try new features before they get to the stable release, you can download the beta version [here](https://github.com/mihonapp/mihon-preview/releases). ## Issues, Feature Requests and Contributing @@ -37,7 +37,7 @@ Please make sure to read the full guidelines. Your issue may be closed without w * Include version (More → About → Version) * If not latest, try updating, it may have already been solved - * Preview version is equal to the number of commits as seen on the main page + * Beta version is equal to the number of commits as seen on the main page * Include steps to reproduce (if not obvious from description) * Include screenshot (if needed) * If it could be device-dependent, try reproducing on another device (if possible) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt index 2f740aa1a..1315c442b 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt @@ -247,7 +247,7 @@ object AboutScreen : Screen() { } } BuildConfig.PREVIEW -> { - "Preview r${BuildConfig.COMMIT_COUNT}".let { + "Beta r${BuildConfig.COMMIT_COUNT}".let { if (withBuildDate) { "$it (${BuildConfig.COMMIT_SHA}, ${getFormattedBuildTime()})" } else { From e34043f1feb03dab31f18bd8cd12bf37bcb7f56c Mon Sep 17 00:00:00 2001 From: DavidK004 <120549505+DavidK004@users.noreply.github.com> Date: Wed, 17 Jan 2024 20:27:08 +0100 Subject: [PATCH 07/10] Fixed Serbian translation (#75) --- .../commonMain/resources/MR/sr/plurals.xml | 11 ++- .../commonMain/resources/MR/sr/strings.xml | 70 +++++++++++++++++-- 2 files changed, 71 insertions(+), 10 deletions(-) diff --git a/i18n/src/commonMain/resources/MR/sr/plurals.xml b/i18n/src/commonMain/resources/MR/sr/plurals.xml index 3559f7cf8..6a538ebc2 100644 --- a/i18n/src/commonMain/resources/MR/sr/plurals.xml +++ b/i18n/src/commonMain/resources/MR/sr/plurals.xml @@ -26,9 +26,9 @@ %d категорија - Pre %1$d dan - Pre %1$d dana - Pre %1$d dana + Пре %1$d дан + Пре %1$d дана + Пре %1$d дана Прескаче се %d поглавље, или не постоји у извору или је филтером издвојено @@ -80,4 +80,9 @@ %d дана %d дана + + %d репозиторија + %d репозиторија + %d репозиторија + \ No newline at end of file diff --git a/i18n/src/commonMain/resources/MR/sr/strings.xml b/i18n/src/commonMain/resources/MR/sr/strings.xml index 1c08015da..b74ad34aa 100644 --- a/i18n/src/commonMain/resources/MR/sr/strings.xml +++ b/i18n/src/commonMain/resources/MR/sr/strings.xml @@ -15,6 +15,7 @@ Миграција Додаци Информације о додатку + Складиштење и подаци Подешавања Филтер Забележено @@ -83,7 +84,7 @@ Све Ограничења уређаја за аутоматска ажурирања Пуњење - Са статусом \"Завршено\" + Прескочи уносе са статусом \"Завршено\" Ажурирај пратиоца након читања Подразумевана категорија Увек питај @@ -428,7 +429,7 @@ Мрежа Подаци из датотеке резервне копије ће бити враћени. \n -\nМораћете да инсталирате све додатке које недостају и да се после тога пријавите на трекере да бисте их користили. +\nМораћете да инсталирате све додатке које недостају и да се после тога пријавите на пратиоце да бисте их користили. Сервиси који пружају побољшане услуге за одређене изворе. Наслов се аутоматски прати када га додате у колекцију. Помозите у превођењу Дели извештаје о паду @@ -535,7 +536,7 @@ Дозволи брисање забележених поглавља Искључене категорије Наслови у искљученим категоријама неће се преузимати иако су такође у укљученим категоријама. - Једносмерна синхронизација за ажурирање броја прочитаних поглавља у трекерима. За појединачно праћење наслова додирни дугме за њихово праћење. + Једносмерна синхронизација за ажурирање броја прочитаних поглавља у пратиоцима. За појединачно праћење наслова додирни дугме за њихово праћење. Подаци Инкогнито мод Омот је ажуриран @@ -556,11 +557,11 @@ Преузимање листе додатака није успело Испразни кеш меморију поглавља током покретања апликације Нема ништа за чишћење - Sa neporcitanim poglavljem(ima) + Прескочи уносе са непрочитаним поглављима Политика приватности Отказано На паузи - То није започето + Прескочи уносе који нису започети Прикажи наслов Помакни наслов на врх %1$d ажурирање није успело @@ -681,7 +682,7 @@ Низ корисничког агента не може бити празан Ресетуј подразумевани низ корисничког агента Праћени наслови - Трекери + Пратиоци Рангирање по узрасту Персонализовани омот Ресетуј подешавања читача по наслову @@ -708,7 +709,7 @@ Лиценцирано - Нема поглавља за приказ Има резултата Прескочено јер данас није очекивано издање - Изван очекиваног периода изласка + Предвиди очекивано време изласка Постави интервалу Интервали Такође уклони из %s @@ -729,4 +730,59 @@ Нема везе са интернетом HTTP %d, погледај веб сајт у WebView %s је недоступан + Релативне временске ознаке + „%1$s” уместо „%2$s” + Паметно ажурирање + Забљесни приликом листања + Смањује артефакте на е-инк екранима + Репозиторије екстензија + Место складиштења + Користи се за аутоматске резервне копије, преузимаље поглавља и локални извор. + Опозови поверење непознатим екстензијама + Оцена на пратиоцу + Аматерски преводилац + Ниједан аматерски преводилац није пронађен + Не укључуј аматерске преводиоце + Предвиђа се да ће нова поглавља изаћи за %1$s, проверава се сваких %2$s. + Ускоро + Доступно: %1$s / Укупно: %2$s + Немате додатих репозиторија. + Додај репозиторију + Избриши репозиторију + URL репозиторије + Додај додатне репозиторије у Михон. Треба да буде URL који се завршава са „index.min.json”. + Неисправан URL репозиторије + Да ли желиш да избришеш репозиторију „%s”? + Укључи и осетљива подешавања (нпр. токени за пријаву у пратиоце) + Изабери путању + Започни + Мораш да изабереш једну путању + Дозвола за обавештења + Дозвола за инсталацију апликација + Пресокочи + Следеће + За инсталирање екстензија. + За примање обавештења о ажурурању библиотеке и др. + Одобри + Добро дошли! + Водич за прво покретање + Користш %s први пут? Препоручујемо да погледаш водич за покретање + Поново инсталираш %s? + Избегни прекиде при дуготрајном ажурирању колекције, преузимању и обнављању резервне копије + Коришћење батерије у позадини + Хајде да обавимо нека подешавања. Ако желиш можеш их касније променити у подешавањима. + Није постављена локација за складиштење + Одабери путању у коју ће %1$s чувати преузимања поглавља, резервне копије и друго. +\n +\nПрепоручујемо коришћење засебне путање +\n +\nОдабрана путања: %2$s + Норд + Ажурураш са старије верзије и не знаш шта да изабереш? Потражи информације у водичу складиштења. + Водич складиштења + За инсталацију екстензија потребне су дозволе. Додирни овде за одобрење + Грешка: + Ова репозиторија већ постоји + Прилагођена учесталост ажурирања: + Отвори репозиторију \ No newline at end of file From 99fd2731f5d9d374700e89fa67d4d5bf611bbafa Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Thu, 18 Jan 2024 01:28:41 +0600 Subject: [PATCH 08/10] Fix score issue with MangaUpdates Also add custom user agent Potentially fix #17 --- .../data/track/mangaupdates/MangaUpdates.kt | 32 +++++++++++++------ .../mangaupdates/MangaUpdatesInterceptor.kt | 2 ++ 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt index f5c33cf8d..24ad1a56b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt @@ -6,6 +6,8 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.DeletableTracker +import eu.kanade.tachiyomi.data.track.mangaupdates.dto.ListItem +import eu.kanade.tachiyomi.data.track.mangaupdates.dto.Rating import eu.kanade.tachiyomi.data.track.mangaupdates.dto.copyTo import eu.kanade.tachiyomi.data.track.mangaupdates.dto.toTrackSearch import eu.kanade.tachiyomi.data.track.model.TrackSearch @@ -23,10 +25,16 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker const val UNFINISHED_LIST = 3 const val ON_HOLD_LIST = 4 - private val SCORE_LIST = ( - (0..9) - .flatMap { i -> (0..9).map { j -> "$i.$j" } } + listOf("10.0") - ) + private val SCORE_LIST = (0..10) + .flatMap { decimal -> + when (decimal) { + 0 -> listOf("-") + 10 -> listOf("10.0") + else -> (0..9).map { fraction -> + "$decimal.$fraction" + } + } + } .toImmutableList() } @@ -59,7 +67,7 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker override fun getScoreList(): ImmutableList = SCORE_LIST - override fun indexToScore(index: Int): Float = SCORE_LIST[index].toFloat() + override fun indexToScore(index: Int): Float = if (index == 0) 0f else SCORE_LIST[index].toFloat() override fun displayScore(track: DomainTrack): String = track.score.toString() @@ -78,9 +86,9 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker override suspend fun bind(track: Track, hasReadChapters: Boolean): Track { return try { val (series, rating) = api.getSeriesListItem(track) - series.copyTo(track) - rating?.copyTo(track) ?: track + track.copyFrom(series, rating) } catch (e: Exception) { + track.score = 0f api.addSeriesToList(track, hasReadChapters) track } @@ -95,8 +103,12 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker override suspend fun refresh(track: Track): Track { val (series, rating) = api.getSeriesListItem(track) - series.copyTo(track) - return rating?.copyTo(track) ?: track + return track.copyFrom(series, rating) + } + + private fun Track.copyFrom(item: ListItem, rating: Rating?): Track = apply { + item.copyTo(this) + score = rating?.rating ?: 0f } override suspend fun login(username: String, password: String) { @@ -106,6 +118,6 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker } fun restoreSession(): String? { - return trackPreferences.trackPassword(this).get() + return trackPreferences.trackPassword(this).get().ifBlank { null } } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdatesInterceptor.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdatesInterceptor.kt index 2b283c3b8..094471b18 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdatesInterceptor.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdatesInterceptor.kt @@ -1,5 +1,6 @@ package eu.kanade.tachiyomi.data.track.mangaupdates +import eu.kanade.tachiyomi.BuildConfig import okhttp3.Interceptor import okhttp3.Response import java.io.IOException @@ -18,6 +19,7 @@ class MangaUpdatesInterceptor( // Add the authorization header to the original request. val authRequest = originalRequest.newBuilder() .addHeader("Authorization", "Bearer $token") + .header("User-Agent", "Mihon v${BuildConfig.VERSION_NAME} (${BuildConfig.APPLICATION_ID})") .build() return chain.proceed(authRequest) From 6018aa99e2f82fa7fd6f62bce7e5306f136536f8 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Thu, 18 Jan 2024 01:30:03 +0600 Subject: [PATCH 09/10] Release v0.16.1 --- .github/ISSUE_TEMPLATE/report_issue.yml | 4 ++-- .github/ISSUE_TEMPLATE/request_feature.yml | 2 +- app/build.gradle.kts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/report_issue.yml b/.github/ISSUE_TEMPLATE/report_issue.yml index a85728fbc..d3a83249c 100644 --- a/.github/ISSUE_TEMPLATE/report_issue.yml +++ b/.github/ISSUE_TEMPLATE/report_issue.yml @@ -53,7 +53,7 @@ body: label: Mihon version description: You can find your Mihon version in **More → About**. placeholder: | - Example: "0.16.0" + Example: "0.16.1" validations: required: true @@ -98,7 +98,7 @@ body: required: true - label: I have gone through the [FAQ](https://mihon.app/docs/faq/general) and [troubleshooting guide](https://mihon.app/docs/guides/troubleshooting/). required: true - - label: I have updated the app to version **[0.16.0](https://github.com/mihonapp/mihon/releases/latest)**. + - label: I have updated the app to version **[0.16.1](https://github.com/mihonapp/mihon/releases/latest)**. required: true - label: I have updated all installed extensions. required: true diff --git a/.github/ISSUE_TEMPLATE/request_feature.yml b/.github/ISSUE_TEMPLATE/request_feature.yml index 29733628d..d8b93757e 100644 --- a/.github/ISSUE_TEMPLATE/request_feature.yml +++ b/.github/ISSUE_TEMPLATE/request_feature.yml @@ -33,7 +33,7 @@ body: required: true - label: If this is an issue with an official extension, I should be opening an issue in the [extensions repository](https://github.com/tachiyomiorg/extensions/issues/new/choose). required: true - - label: I have updated the app to version **[0.16.0](https://github.com/mihonapp/mihon/releases/latest)**. + - label: I have updated the app to version **[0.16.1](https://github.com/mihonapp/mihon/releases/latest)**. required: true - label: I will fill out all of the requested information in this form. required: true diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 30278a7c6..ca5acb919 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -22,8 +22,8 @@ android { defaultConfig { applicationId = "app.mihon" - versionCode = 1 - versionName = "0.16.0" + versionCode = 2 + versionName = "0.16.1" buildConfigField("String", "COMMIT_COUNT", "\"${getCommitCount()}\"") buildConfigField("String", "COMMIT_SHA", "\"${getGitSha()}\"") From e4a65656e7fd5807475323373b8337b1f53ff1f9 Mon Sep 17 00:00:00 2001 From: KaiserBh <41852205+KaiserBh@users.noreply.github.com> Date: Thu, 18 Jan 2024 15:37:41 +1100 Subject: [PATCH 10/10] refactor: db changes for syncing. (#113) fix: sync marking chapter unread when we do library update before syncing. So this should have been 0 on insert instead of the current time on insert. Essentially this issue arises: https://discord.com/channels/1099009852791083058/1099009853864812708/1190022356060614756 Signed-off-by: KaiserBh --- data/src/main/sqldelight/tachiyomi/data/chapters.sq | 2 +- data/src/main/sqldelight/tachiyomi/data/mangas.sq | 2 +- data/src/main/sqldelight/tachiyomi/data/mangas_categories.sq | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/src/main/sqldelight/tachiyomi/data/chapters.sq b/data/src/main/sqldelight/tachiyomi/data/chapters.sq index f51856c54..4c341793f 100644 --- a/data/src/main/sqldelight/tachiyomi/data/chapters.sq +++ b/data/src/main/sqldelight/tachiyomi/data/chapters.sq @@ -75,7 +75,7 @@ WHERE _id IN :chapterIds; insert: INSERT INTO chapters(manga_id, url, name, scanlator, read, bookmark, last_page_read, chapter_number, source_order, date_fetch, date_upload, last_modified_at) -VALUES (:mangaId, :url, :name, :scanlator, :read, :bookmark, :lastPageRead, :chapterNumber, :sourceOrder, :dateFetch, :dateUpload, strftime('%s', 'now')); +VALUES (:mangaId, :url, :name, :scanlator, :read, :bookmark, :lastPageRead, :chapterNumber, :sourceOrder, :dateFetch, :dateUpload, 0); update: UPDATE chapters diff --git a/data/src/main/sqldelight/tachiyomi/data/mangas.sq b/data/src/main/sqldelight/tachiyomi/data/mangas.sq index d944ab0b1..07ef12eba 100644 --- a/data/src/main/sqldelight/tachiyomi/data/mangas.sq +++ b/data/src/main/sqldelight/tachiyomi/data/mangas.sq @@ -117,7 +117,7 @@ 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) -VALUES (:source, :url, :artist, :author, :description, :genre, :title, :status, :thumbnailUrl, :favorite, :lastUpdate, :nextUpdate, :initialized, :viewerFlags, :chapterFlags, :coverLastModified, :dateAdded, :updateStrategy, :calculateInterval, strftime('%s', 'now')); +VALUES (:source, :url, :artist, :author, :description, :genre, :title, :status, :thumbnailUrl, :favorite, :lastUpdate, :nextUpdate, :initialized, :viewerFlags, :chapterFlags, :coverLastModified, :dateAdded, :updateStrategy, :calculateInterval, 0); update: UPDATE mangas SET diff --git a/data/src/main/sqldelight/tachiyomi/data/mangas_categories.sq b/data/src/main/sqldelight/tachiyomi/data/mangas_categories.sq index 5c41843f0..b908e3f86 100644 --- a/data/src/main/sqldelight/tachiyomi/data/mangas_categories.sq +++ b/data/src/main/sqldelight/tachiyomi/data/mangas_categories.sq @@ -20,7 +20,7 @@ END; insert: INSERT INTO mangas_categories(manga_id, category_id, last_modified_at) -VALUES (:mangaId, :categoryId, strftime('%s', 'now')); +VALUES (:mangaId, :categoryId, 0); deleteMangaCategoryByMangaId: DELETE FROM mangas_categories