Commit graph

10627 commits

Author SHA1 Message Date
littlecodedragon
d342a8d595 Merge upstream/master into main
Some checks failed
Forgejo Release Builder / release (push) Failing after 4m49s
Resolve conflicts: keep upstream GitHub workflows, adopt extension_store
migration as 46.sqm, move fork pages_read history column to 47.sqm, merge
DomainModule DI for ExtensionStore + fork features, and combine DE strings.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 10:13:44 +02:00
littlecodedragon
d69ce1c388 ci(upstream): track fork drift with check script and weekly workflow
Add check-upstream.sh, generated status artifacts, merge guide, and a
scheduled Forgejo job to refresh upstream sync visibility.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 10:12:13 +02:00
littlecodedragon
49a0644f68 ci(forgejo): add manual release dispatch and refresh release docs
Allow rebuilding an existing tag via workflow_dispatch and document
Obtainium-friendly asset names, secrets, and runner setup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 10:12:13 +02:00
littlecodedragon
a81d717ca3 feat(download): auto-download chapters during library update
Add configurable library-update download modes (disabled, next X unread, all)
with settings UI and enqueue downloads after chapter sync completes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 10:12:10 +02:00
littlecodedragon
4fce1fa940 feat(reading-eta): share SeriesReadingEtaCalculator across reader and library
Extract a single ETA estimator, refresh library badges when history changes,
and expose a history revision stream for reactive updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 10:12:02 +02:00
AntsyLich
87a173929b Adapt network implementation for TachiyomiX 1.6 (mihonapp/mihon#3248)
(cherry picked from commit 430b13bb81c8f51331109fa3ff35296f8bde9d27)
2026-07-09 15:36:34 +07:00
Cuong-Tran
4ae732a17b fix(deps): Matching coroutines version 2026-07-09 15:36:34 +07:00
AntsyLich
eb84ab8439 Ensure old extension store is removed if index url changes (mihonapp/mihon#3408)
(cherry picked from commit c15f7bee85b8fbe258abe81433730aa5bcba58a1)
2026-07-09 03:38:41 +07:00
AntsyLich
5e809fefd4
Add auto migration support from legacy extension store index (mihonapp/mihon#3398)
(cherry picked from commit d4327c8d48608ebc6eafc4a3df226c31d6586bbd)
2026-07-09 03:16:07 +07:00
Cuong-Tran
1763d947df
chore(sync): migrate sync preference keys (#1747) 2026-07-09 02:43:00 +07:00
Cuong-Tran
ce6a0ea7fa
fix(extension-store): Migrate to extension store during restore/sync legacy backup (#1746) 2026-07-09 02:05:39 +07:00
AntsyLich
da57b3db07 Change the term "Obsolete" to "Orphaned" for extensions (mihonapp/mihon#3383)
(cherry picked from commit 5f1d76a73a7b821542d46c96935def9158e7ff1f)
2026-07-09 00:35:35 +07:00
AntsyLich
da7ee11bb3 Change extension repo to extension store and add support for newer extension index format (#1744)
PR: mihonapp/mihon#3349

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
Co-authored-by: Jobobby04 <jobobby04@users.noreply.github.com>

(cherry picked from commit b446d2a6b1844f24b2d4912ba8be8b4648549f41)
(cherry picked from commit a0ae52671fe2ddab3883b99f437d521446a8539d)
2026-07-08 23:56:17 +07:00
MajorTanya
21c1b85796 Add informative error for unapproved MAL titles (mihonapp/mihon#3155)
MAL has a concept of "titles waiting for approval". These titles
cannot be added to user lists, but they do show up on the website and
crucially, in search results.

However, trying to add such an "unapproved" title will return a 400
error response with the error "invalid_content".

Previously, the awaitSuccess() call would mean the generic "HTTP 400"
toast would be shown. Now, a dedicated informative error message is
shown instead.

(cherry picked from commit af4f17efc54a00d9abe20e0d0b701d60c3531369)
2026-07-07 18:17:31 +07:00
MajorTanya
0f556ea9b5 Address bundleOf deprecation (mihonapp/mihon#3073)
(cherry picked from commit 33faa5a3562016a53d94b02aed69d95b10af5fc5)
2026-07-07 17:42:11 +07:00
AntsyLich
06107dba9b Bump workflows JDK to 21 (mihonapp/mihon#3053)
(cherry picked from commit ce5820b496dc6526b7afbf7344753c923802f737)
2026-07-07 17:37:40 +07:00
renovate[bot]
3615dc23a9
fix(deps): update dependency com.github.skydoves:colorpicker-compose to v1.2.0 (#1720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-03 02:03:50 +07:00
renovate[bot]
86b60f08b1
fix(deps): update dependency com.github.ben-manes:gradle-versions-plugin to v0.54.0 (#1719)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-03 02:03:37 +07:00
renovate[bot]
16582cc50e
fix(deps): update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.8.0 (#1718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-03 02:03:28 +07:00
renovate[bot]
559a787d0f
fix(deps): update dependency app.cash.sqldelight:sqlite-3-38-dialect to v2.3.2 (#1717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-03 02:03:13 +07:00
renovate[bot]
65d2bff8c7
fix(deps): update dependency androidx.test.uiautomator:uiautomator to v2.4.0 (#1714)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-03 02:03:04 +07:00
renovate[bot]
3e07479b0e
fix(deps): update dependency androidx.compose:compose-bom to v2026.06.01 (#1713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-03 02:02:55 +07:00
renovate[bot]
40b19479af
fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-coroutines-bom to v1.11.0 (#1712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-03 02:02:46 +07:00
renovate[bot]
4fd2625bf7
chore(deps): update kotlin.version to v2.4.0 (#1710)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-03 02:02:29 +07:00
renovate[bot]
453afb3edb
fix(deps): update dependency androidx.annotation:annotation to v1.10.0 (#1709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 18:32:52 +07:00
renovate[bot]
118eeaf3ee
fix(deps): update dependency androidx.activity:activity-compose to v1.13.0 (#1708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 18:32:43 +07:00
renovate[bot]
e11cd536dc
chore(deps): update plugin google-services to v4.5.0 (#1707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 18:32:36 +07:00
renovate[bot]
e95e463543
fix(deps): update moko to v0.26.4 (#1706)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 18:32:28 +07:00
renovate[bot]
7b073fed0c
fix(deps): update dependency org.jsoup:jsoup to v1.22.2 (#1705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 18:32:18 +07:00
renovate[bot]
5c84266bc7
fix(deps): update dependency io.mockk:mockk to v1.14.11 (#1704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 18:32:10 +07:00
renovate[bot]
5048e57e76
fix(deps): update dependency com.mohamedrejeb.richeditor:richeditor-compose to v1.0.0-rc14 (#1703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 18:32:00 +07:00
renovate[bot]
583d649d20
fix(deps): update dependency com.google.apis:google-api-services-drive to v3-rev20260624-2.0.0 (#1702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 18:31:51 +07:00
littlecodedragon
b299a9ce81 docs(reading-eta): document unified limits, long chapters, and settings
Capture library vs reader ETA behaviour, historical duplicate caps, tunable
preferences, and code map from the reading-eta work. Link from README.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 13:56:33 +02:00
renovate[bot]
fdfd4582cb
fix(deps): update dependency androidx.work:work-runtime to v2.11.2 (#1701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:39:57 +07:00
renovate[bot]
25b8eb889a
chore(deps): update plugin firebase-crashlytics to v3.0.7 (#1700)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:39:49 +07:00
renovate[bot]
1ffeebc9a1
chore(deps): update github actions (#1524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:21:07 +07:00
renovate[bot]
3de5da42d3
fix(deps): update spotless to v8.7.0 (#1552)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:20:09 +07:00
renovate[bot]
e9bd1fc477
fix(deps): update dependency com.materialkolor:material-kolor to v5.0.0-alpha07 (#1551)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:20:00 +07:00
renovate[bot]
72a3bb6f58
fix(deps): update compose.bom to v2026.06.00 (#1546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:19:50 +07:00
renovate[bot]
0ba6598c3f
fix(deps): update firebase.bom to v34.15.0 (#1526)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:19:41 +07:00
renovate[bot]
bd13620d1f
fix(deps): update dependency io.kotest:kotest-assertions-core to v6.2.1 (#1522)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:19:23 +07:00
renovate[bot]
40f1391775
fix(deps): update dependency io.coil-kt.coil3:coil-bom to v3.5.0 (#1520)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:19:13 +07:00
renovate[bot]
9761f33948
fix(deps): update dependency com.google.apis:google-api-services-drive to v3-rev20260428-2.0.0 (#1513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:19:05 +07:00
renovate[bot]
612651a076
chore(deps): update github actions (#1512)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-30 18:18:55 +07:00
Cuong-Tran
3b06366fd9
chore(download): disable download URL hash inclusion by default (#1677) 2026-06-11 03:06:27 +07:00
Cuong-Tran
582ea3e60d
chore(agent): Add mandatory rules for AI agents covering Git, i18n, and formatting (#1662)
* chore(agent): Add mandatory rules for AI agents covering Git, i18n, and formatting

* Explicit path for strings resource

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Specify both strings.xml & plurals.xml

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Also exclude non-base local folders from i18n-kmk

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-27 14:42:44 +07:00
Cuong-Tran
99470e8133
Revert "fix(library): notify when sync fails before library update"
This reverts commit 9ccf5ca291.
2026-05-27 14:20:56 +07:00
Cursor Agent
9ccf5ca291
fix(library): notify when sync fails before library update
Report sync failures that previously failed silently (e.g. null remote
backup) and show a library update error notification when a chained sync
blocks the update, including the sync failure reason.

Co-authored-by: Cuong-Tran <cuong-tran@users.noreply.github.com>
2026-05-23 06:42:27 +00:00
Cuong-Tran
30c114c20f
Add Cursor Cloud specific instructions to AGENTS.md (#1659)
Add development environment setup documentation for Cloud Agent VMs,
including Android SDK configuration, key Gradle commands, and gotchas
for headless development without an emulator.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Cuong-Tran <cuong-tran@users.noreply.github.com>
2026-05-23 00:31:09 +07:00
Cuong-Tran
c1806e13b3
Agent.md (#1658)
* Generate `AGENTS.md` using CoPilot

* Re-generate by Cursor & manual merge

* Review again with Cursor
2026-05-22 23:49:37 +07:00