AntsyLich
a7d93ae751
Cleanup and rework build logic ( #3113 )
...
# Conflicts:
# app/build.gradle.kts
# app/shortcuts.xml
# app/src/main/res/xml/shortcuts.xml
# app/src/main/shortcuts.xml
# build.gradle.kts
# buildSrc/src/main/kotlin/mihon/buildlogic/AndroidConfig.kt
# core/archive/build.gradle.kts
# core/common/build.gradle.kts
# gradle/build-logic/src/main/kotlin/mihon/gradle/BuildConfig.kt
# settings.gradle.kts
# source-api/build.gradle.kts
# source-local/build.gradle.kts
# telemetry/build.gradle.kts
2026-04-06 15:50:09 -04:00
Weblate (bot)
d225b7c586
Translations update from Hosted Weblate ( #3003 )
...
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/be/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/fi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/be/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ko/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/lv/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ta/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals
Co-authored-by: A <ogloppi@mailbox.org >
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com >
Co-authored-by: Kehribar <103407696+dpentx@users.noreply.github.com >
Co-authored-by: Lucas Correia <anicetoclucas@gmail.com >
Co-authored-by: ScratchBuild <foobarbuzz@gmail.com >
Co-authored-by: Siebrenvde <siebren@siebrenvde.dev >
Co-authored-by: lilp <felipegabriel.avila6@gmail.com >
Co-authored-by: nadevko <ormak@protonmail.com >
Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com >
Co-authored-by: ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝) <coool@mail.lv >
Co-authored-by: 안세훈 <on9686@gmail.com >
# Conflicts:
# i18n/src/commonMain/moko-resources/be/strings.xml
2026-04-06 15:27:10 -04:00
AntsyLich
4c51d01236
Merge and cleanup version catalogs ( #3103 )
...
# Conflicts:
# app/build.gradle.kts
# core/archive/build.gradle.kts
# gradle/libs.versions.toml
# i18n/build.gradle.kts
# settings.gradle.kts
# source-api/build.gradle.kts
2026-04-06 15:26:05 -04:00
Mend Renovate
4d46e84f54
Update dependency com.google.firebase:firebase-bom to v34.11.0 ( #3094 )
2026-04-06 15:06:15 -04:00
AntsyLich
af51607053
Replace preference getter functions with properties ( #3091 )
...
# Conflicts:
# app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
# app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt
# app/src/main/java/eu/kanade/domain/ui/UiPreferences.kt
# app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
# app/src/main/java/eu/kanade/presentation/reader/settings/GeneralSettingsPage.kt
# app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt
# app/src/main/java/eu/kanade/tachiyomi/App.kt
# app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
# app/src/main/java/eu/kanade/tachiyomi/di/PreferenceModule.kt
# app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerConfig.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt
# app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt
# app/src/main/java/mihon/feature/migration/list/MigrationListScreenModel.kt
# core/common/src/main/kotlin/eu/kanade/tachiyomi/network/NetworkHelper.kt
# domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2026-04-06 15:06:05 -04:00
Leodyver Semilla
1c8e6dcd6f
Fix extension actions disappearing after installing and uninstalling in same session ( #3049 )
...
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com >
# Conflicts:
# CHANGELOG.md
2026-04-06 14:20:49 -04:00
AntsyLich
7a398dabba
Make retry in reader redownload image ( #3089 )
...
# Conflicts:
# CHANGELOG.md
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
2026-04-06 14:18:57 -04:00
Leodyver Semilla
b7fcf7ccda
Fix WebView JavaScript dialogs popup after screen is closed ( #3041 )
...
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com >
# Conflicts:
# CHANGELOG.md
2026-04-06 14:13:39 -04:00
Leodyver Semilla
acbda604cc
MangaUpdates API content-type heade ( #3021 )
...
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com >
# Conflicts:
# CHANGELOG.md
2026-04-06 14:13:18 -04:00
Leodyver Semilla
97f3dd3b25
Fix tracker-induced duplicate key crash in duplicate detection ( #3040 )
...
# Conflicts:
# CHANGELOG.md
2026-04-06 14:12:59 -04:00
Mend Renovate
60758f89ed
Update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.4.0 ( #3086 )
2026-04-06 14:12:41 -04:00
KaiserBh
e96895345e
feat(sync): prevent deleted "ghost chapters" from reappearing during sync. ( #1575 )
...
* feat(sync): prevent deleted "ghost chapters" from reappearing during sync.
- Pass lastSyncTime down to mergeChapters in SyncService.kt.
- Apply timestamp-based tombstoning logic to chapter merging. When a chapter is missing from either the local or remote backup, its `lastModifiedAt` timestamp is checked against the device's last sync time.
- Ensure that chapters deleted on one device (or removed by a source) are recognized as deletions and dropped from the merged backup, rather than being erroneously restored as "new" chapters on subsequent syncs.
* chore: change timestamp to use duration-based calculations
* chore: spotless
preview-184
2026-04-06 13:08:30 -04:00
MediocreLegion
eec1236b8b
fix(delegate): migrate NH to the v2 api ( #1581 )
...
* fix(delegate): migrate NH to the v2 api
* remove extra comment
* remove redundant data
* linting
* Code cleanup
---------
Co-authored-by: Jobobby04 <jobobby04@users.noreply.github.com >
2026-04-03 12:59:13 -04:00
Weblate (bot)
ee1e783126
Translations update from Hosted Weblate ( #1577 )
...
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ko/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ru/
Translation: Mihon/TachiyomiSY
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com >
Co-authored-by: ScratchBuild <foobarbuzz@gmail.com >
Co-authored-by: ZenVinny <atdenada@gmail.com >
Co-authored-by: 안세훈 <on9686@gmail.com >
2026-04-03 12:50:27 -04:00
renovate[bot]
f3ab39cb1f
Update dependency net.zetetic:sqlcipher-android to v4.14.1 ( #1583 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 12:50:00 -04:00
KaiserBh
ba75395648
refactor: improve sync merging categories ( #1559 )
...
* feat: Add versioning to categories
* feat: use random UID for categories.
For legacy and migration we should assign uid on insert, and modify existing one as well in the migration.
* feat: sync category metadata
Add version, uid and lastModifiedAt fields to Category model to allow syncing.
* chore: fix category merging logic
Improve the category merging logic by matching using UIDs first, with a fallback to matching by name for legacy remote categories.
Previously, categories were only matched by name, which could lead to incorrect merges if names were changed. This change ensures more accurate synchronization by prioritizing the unique identifier. Conflict resolution is now based on the `version` field, and logging has been added for better visibility into the merging process.
* refactor: prioritize UID when restoring categories
If a category with the same UID exists, update it instead of creating a new one. Fallback to matching by name if no UID match is found.
* chore: add isSyncing flag like before.
This make sure the version is consistent, and it's not accidentally appended by the trigger, if it does then one device will always be ahead, than previous, and they need to make multiple changes to increase the version.
* Apply suggestion from @jobobby04
Use SY specific numbers(601, 602 for now)
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com >
* chore: commit review, re-order.
* chore: surround changes in // SY --> // SY <--
* refactor: fallback to existing category UID if backup UID is 0 during restore.
when dealing with old backups (backups created before we added UIDs). In those old backups, backupCategory.uid defaults to 0.
If a user restored an old backup, it would match by name, and then overwrite the newly generated local UID with 0. This would break the synchronization.
* refactor: change to 6xx
* feat: improve sync reliability for categories and settings
- Refactor `mergeCategoriesLists` to correctly match categories by name when UID matching fails, ensuring better reconciliation across devices.
- Fix a bug in category merging where multiple categories with UID 0 (common for non-synced items) caused data loss.
- Update `SyncManager` to detect changes in categories, sources, preferences, saved searches, and extension repos, ensuring they synchronize even when the library favorites haven't changed.
- Convert `BackupCategory` and `BackupExtensionRepos` to data classes to support robust content-aware comparison during the sync process.
- Fix data loss in `mergeSourcesLists`, `mergePreferencesLists`, and `mergeSavedSearchesLists` by retaining local versions when conflicting with remote data.
* fix(sync): properly sync category deletions across devices
Previously, the sync system could not distinguish between a category that was deleted locally and a new category created on another device, causing deleted categories to be restored from the remote backup.
- Update `SyncService` to use `lastSyncTimestamp` to deduce if a missing local category was deleted (if modified before last sync) or newly created remotely (if modified after).
- Update `SyncManager` to explicitly delete local categories that are absent from the merged remote backup, propagating deletions to other devices.
- Fix `RestoreOptions` in `SyncManager` to respect the user's sync preferences instead of hardcoding `categories = true`.
* chore: change it to 6xx and not 600.
* chore: don't need to change this.
* chore: use kotlin time duration units
---------
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com >
2026-04-03 12:49:37 -04:00
Weblate (bot)
fe0b14ab97
Translations update from Hosted Weblate ( #1561 )
...
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/be/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/ta/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/be/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ko/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ta/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals
Co-authored-by: Kehribar <103407696+dpentx@users.noreply.github.com >
Co-authored-by: Lucas Correia <anicetoclucas@gmail.com >
Co-authored-by: lilp <felipegabriel.avila6@gmail.com >
Co-authored-by: nadevko <ormak@protonmail.com >
Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com >
Co-authored-by: 안세훈 <on9686@gmail.com >
2026-03-18 19:55:58 -04:00
renovate[bot]
91d2140288
Update koin to v4.2.0 ( #1569 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-18 19:47:20 -04:00
renovate[bot]
0417969dd6
Update dependency net.zetetic:sqlcipher-android to v4.14.0 ( #1567 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-18 19:47:08 -04:00
AntsyLich
5d8d2ce48a
Switch to AndroidX bundled sqlite driver ( #3082 )
...
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt
2026-03-18 19:45:20 -04:00
Mend Renovate
b15277f134
Update paging.version to v3.4.2 ( #3063 )
2026-03-18 19:21:01 -04:00
Mend Renovate
76ca27f681
Update kotlin monorepo to v2.3.20 ( #3074 )
2026-03-18 19:20:57 -04:00
Mend Renovate
56923c76d4
Update sqldelight to v2.3.2 ( #3077 )
2026-03-18 19:20:53 -04:00
MajorTanya
32e19736b9
Address bundleOf deprecation ( #3073 )
2026-03-18 19:20:48 -04:00
Mend Renovate
11b01b2771
Update sqldelight to v2.3.1 ( #3071 )
...
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com >
2026-03-18 19:20:45 -04:00
Mend Renovate
460ff13e54
Update dependency io.kotest:kotest-assertions-core to v6.1.7 ( #3062 )
2026-03-18 19:20:42 -04:00
Mend Renovate
57f77c8105
Update moko to v0.26.1 ( #3068 )
2026-03-18 19:20:39 -04:00
Mend Renovate
a2eb22964a
Update dependency com.squareup.okio:okio to v3.17.0 ( #3070 )
2026-03-18 19:20:36 -04:00
Mend Renovate
7158bae26a
Update dependency androidx.activity:activity-compose to v1.13.0 ( #3065 )
2026-03-18 19:20:32 -04:00
Mend Renovate
807ce846d5
Update dependency androidx.core:core-ktx to v1.18.0 ( #3067 )
2026-03-18 19:20:29 -04:00
Mend Renovate
0b68f2c62a
Update dependency androidx.compose:compose-bom to v2026.03.00 ( #3066 )
2026-03-18 19:20:26 -04:00
AntsyLich
b7d6cc8dd0
Add installation id for feature flags ( #3052 )
...
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt
# app/src/main/java/mihon/core/migration/migrations/Migrations.kt
2026-03-18 19:20:17 -04:00
Mend Renovate
8b1fd30902
Update dependency androidx.compose:compose-bom to v2026.02.01 ( #3009 )
2026-03-18 19:09:37 -04:00
Mend Renovate
aff43f3aeb
Update dependency com.google.firebase:firebase-bom to v34.10.0 ( #3006 )
2026-03-18 19:09:29 -04:00
Mend Renovate
0047d2e5d8
Update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.3.0 ( #3029 )
2026-03-18 19:09:22 -04:00
Mend Renovate
d87385f5b3
Update dependency com.materialkolor:material-kolor to v5.0.0-alpha07 ( #3024 )
2026-03-18 19:09:15 -04:00
AntsyLich
c17e9573b7
Reapply "Fix cache invalidation isn't done at startup ( #2970 )"
...
This reverts commit d219c5e3bbcfb24c40fa69e40bff11b6fd81fd7f.
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
2026-03-18 19:08:43 -04:00
AntsyLich
9c01119d24
Reapply "Fix thread starvation caused by not yielding or using an inappropriate thread pool ( #2955 )"
...
This reverts commit 1d7c838ae64e624d9dd0884722f0c6ae5d18e386.
# Conflicts:
# CHANGELOG.md
# app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt
# app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2026-03-18 19:06:16 -04:00
Jobobby04
bbc839e234
Lint
2026-02-27 22:44:01 -05:00
Jobobby04
917f20894b
Bump version code
preview-183
2026-02-27 22:08:28 -05:00
Jobobby04
3a3b719b8b
Copy last page read in migrate
2026-02-27 22:07:59 -05:00
Jobobby04
1903437ecf
Cleanup
2026-02-27 22:07:42 -05:00
Jobobby04
5c26bb3a52
Add recommended proguard rules
2026-02-27 22:07:31 -05:00
Jobobby04
07599ade3a
Fix blank page on cloudflare guard
preview-182
2026-02-27 13:49:26 -05:00
Jobobby04
0a9f36402b
Remove migrate button from merged manga
2026-02-27 13:38:28 -05:00
Weblate (bot)
d2b325cd02
Translations update from Hosted Weblate ( #2997 )
...
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cs/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/vi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/
Translation: Mihon/Mihon
Co-authored-by: Filip Jaruška <filip.jaruska@gmail.com >
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com >
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com >
(cherry picked from commit cc3f640faa7df9f2a64976d2639e6dfd60ebe213)
2026-02-27 13:33:34 -05:00
AntsyLich
cdc64aceb7
Fix extension install/update stuck at pending ( #3000 )
...
Co-authored-by: p
(cherry picked from commit 84265febf3ce24d71994ced2b81215f858430d4e)
# Conflicts:
# CHANGELOG.md
2026-02-27 13:33:28 -05:00
Mend Renovate
4bfd6e4026
Update dependency io.kotest:kotest-assertions-core to v6.1.4 ( #2998 )
...
(cherry picked from commit 171a06a8baccae7fb21d2c60150639941747d90c)
2026-02-27 13:33:01 -05:00
Weblate (bot)
50eebdf7d3
Translations update from Hosted Weblate ( #2980 )
...
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eo/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/
Translation: Mihon/Mihon
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com >
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org >
Co-authored-by: Jakub Szafranek13 Fabijan <jakubfabijan@tuta.io >
Co-authored-by: KraXen <dpelech1@gmail.com >
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com >
Co-authored-by: Milo Ivir <mail@milotype.de >
Co-authored-by: Pitpe11 <giorgos2550@gmail.com >
Co-authored-by: Swyter <swyterzone@gmail.com >
Co-authored-by: ZerOriSama <godarms2010@live.com >
(cherry picked from commit 565379779f82ee7dfdad45e251d82ff73dc3b7b2)
2026-02-27 13:32:56 -05:00
AntsyLich
f843de28d7
Run automatic library updates even when connected to a VPN ( #2996 )
...
Co-authored-by: jeremiejig <3978761+jeremiejig@users.noreply.github.com >
(cherry picked from commit 039471427448347a1c12c39a488a1127a3ea1497)
# Conflicts:
# CHANGELOG.md
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2026-02-27 13:32:48 -05:00