Commit graph

10552 commits

Author SHA1 Message Date
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
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
Cuong-Tran
266947b0d7
Bump version 2026-05-19 18:41:03 +07:00
Itsmechinmoy
ca26501aef
feat(Anilist): Parse GraphQL error responses for downtime and token expiry (#1591)
* Create ALError.kt

* Update AnilistApi.kt

* Update AnilistApi.kt

* Update AnilistApi.kt

* Add error handling for AniList API responses

* Update AnilistApi.kt

* Update ALError.kt

* Update AnilistApi.kt

* fix: improve error handling and resource management in AniList API calls

* Fix interpolation sign & add comment

---------

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-05-19 18:27:36 +07:00
Cuong-Tran
9a7d1b6143
Fix ANR while installing extensions (#1652)
Update foreground service type for ExtensionInstallService to dataSync
2026-05-19 15:58:12 +07:00
Cuong-Tran
94eac94ce7
ExtensionInstaller: Fix mistakenly canceling unrelated waitingInstall & avoid adding duplicate entry to installing queue (#1649)
* ExtensionInstaller: Fix mistakenly canceling unrelated `waitingInstall` & avoid adding duplicate entry to installing `queue`

- Changes the installer queue from a synchronized list to a synchronized set to prevent duplicate entries.
- Updates queue removal logic to remove specific entries instead of using index-based removal.
- Refines `cancelQueue` logic to ensure the active installation is only cancelled if its download ID matches the requested ID.

* Ensure thread-safe access to the installation queue when canceling downloads
2026-05-19 15:44:58 +07:00
Cuong-Tran
dc7dd8045e Ensure extension installer's download IDs are non-negative (#1648) 2026-05-18 20:44:17 +07:00
AntsyLich
0b285f83b1 Fix occasional crash when mass installing/uninstalling extension using PackageManager
(cherry picked from commit 42daa3f432292be5fdfb3ecae07592cb94324164)
2026-05-18 20:44:17 +07:00
Leodyver Semilla
768c3dcec5 Fix extension actions disappearing after installing and uninstalling in same session (mihonapp/mihon#3049)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 2f9edb551fb2255c11ccd8452a080e87b9c963eb)
2026-05-18 20:44:17 +07:00
Cuong-Tran
19f8fa203d
Add haptic feedback before actions (#1636)
* perform haptic before doing action

* Perform haptic feedback call in UI/main thread instead of IO

* Haptic feedback on both cases of long press action
2026-05-13 14:22:35 +07:00
Cuong-Tran
21cb1921a3
Refactor AppBarActions and clean up code (#1635)
* remove parentheses

* Refactor AppBarActions to improve readability and maintainability

* Refactor callback parameters in AppBar actions for clarity
2026-05-13 13:56:39 +07:00
Cuong-Tran
dc3d034109
Remove HBrowse and Tsumino sources from delegated sources (#1622) 2026-05-13 12:55:15 +07:00