Commit graph

10516 commits

Author SHA1 Message Date
littlecodedragon
780bd1bfc0 ci: rebalance JVM memory towards metaspace for buildSrc
Some checks failed
Forgejo Release Builder / release (push) Failing after 9m34s
2026-05-06 23:24:58 +02:00
littlecodedragon
320ea451ec ci: switch release workflow to ultra low-memory mode
Some checks failed
Forgejo Release Builder / release (push) Failing after 8m13s
2026-05-06 23:13:50 +02:00
littlecodedragon
3ca6462cec ci: reduce Gradle/Kotlin memory footprint for low-RAM runners
Some checks failed
Forgejo Release Builder / release (push) Failing after 9m14s
2026-05-06 23:01:24 +02:00
littlecodedragon
453f7d6681 ci: cap Kotlin daemon memory for low-RAM runners
Some checks failed
Forgejo Release Builder / release (push) Failing after 5m43s
2026-05-06 22:46:32 +02:00
littlecodedragon
bc84ffb691 ci: harden Gradle for low-memory Forgejo runners
Some checks failed
Forgejo Release Builder / release (push) Failing after 6m45s
2026-05-06 22:27:27 +02:00
littlecodedragon
72fa8ee325 ci: stabilize Forgejo Gradle build under runner memory limits
Some checks failed
Forgejo Release Builder / release (push) Failing after 7m28s
2026-05-06 22:15:30 +02:00
littlecodedragon
48436e3c46 feat(reader): restore series ETA tracking and estimated time left
Some checks failed
Forgejo Release Builder / release (push) Failing after 5m28s
2026-05-06 22:04:16 +02:00
littlecodedragon
af860b5f9d Merge remote-tracking branch 'upstream/master'
Some checks failed
Forgejo Release Builder / release (push) Failing after 27m23s
2026-05-06 16:06:29 +02:00
littlecodedragon
3b08f156d5 Add Obtainium-friendly release asset aliases.
Create stable universal and arm64 APK alias names and improve release display version so repo URL import works more reliably in Obtainium.
2026-04-27 21:08:47 +02:00
littlecodedragon
f37086978d Add optional APK signing via Forgejo secrets.
All checks were successful
Forgejo Release Builder / release (push) Successful in 22m39s
Decode keystore from secrets, sign unsigned APK artifacts with apksigner when configured, and prefer uploading signed APKs.
2026-04-27 19:11:42 +02:00
littlecodedragon
55d7525d26 Handle missing mapping output in no-shrink Forgejo builds.
All checks were successful
Forgejo Release Builder / release (push) Successful in 20m37s
Only create mapping zip when the mapping directory exists to avoid zip failures when code shrinking is disabled.
2026-04-27 18:43:47 +02:00
littlecodedragon
ab252123ae Disable code shrinking for local Forgejo release CI builds.
Some checks failed
Forgejo Release Builder / release (push) Failing after 21m34s
Use -Pdisable-code-shrink to bypass R8/proguard in local fork CI where minification currently crashes the daemon.
2026-04-27 17:56:57 +02:00
littlecodedragon
d6be3d1351 Harden Forgejo release build against Kotlin daemon crashes.
Some checks failed
Forgejo Release Builder / release (push) Failing after 18m4s
Force in-process Kotlin compilation, disable daemon use, and reduce workers to lower memory pressure in containerized CI.
2026-04-27 17:36:06 +02:00
littlecodedragon
688b796e59 Make Forgejo release build work without Google secrets.
Some checks failed
Forgejo Release Builder / release (push) Failing after 17m39s
Remove secret JSON steps and build without telemetry so local fork release CI can run without cloud credentials.
2026-04-27 17:17:24 +02:00
littlecodedragon
17c6e6bd05 Normalize Forgejo JSON secrets before writing release files.
Some checks failed
Forgejo Release Builder / release (push) Failing after 3s
Accept raw JSON, quoted JSON, or base64 JSON for secret payloads and emit valid canonical JSON files for Gradle processing.
2026-04-27 17:13:47 +02:00
littlecodedragon
ea69546fcb Accept raw or base64 JSON secrets in Forgejo release workflow.
Some checks failed
Forgejo Release Builder / release (push) Failing after 3s
Validate secrets as JSON and fall back to base64 decoding when needed so google-services and client secrets are parsed correctly.
2026-04-27 17:12:18 +02:00
littlecodedragon
1f552c2774 Fix malformed JSON secret files in Forgejo release workflow.
Some checks failed
Forgejo Release Builder / release (push) Failing after 3s
Write secrets via printf and validate with python json.tool so google-services and client secrets remain valid JSON in CI.
2026-04-27 17:11:18 +02:00
littlecodedragon
1fc3835259 Stabilize Forgejo Android build by avoiding Gradle daemon in CI.
Some checks failed
Forgejo Release Builder / release (push) Failing after 6m58s
Run Gradle with --no-daemon and reduced workers to prevent daemon crashes in containerized runner jobs.
2026-04-27 16:50:33 +02:00
littlecodedragon
041fd7e5ee Set Android SDK env vars for containerized Forgejo builds.
Detect /opt/android-sdk-linux, export ANDROID_HOME/ANDROID_SDK_ROOT, and write local.properties so Gradle can resolve the SDK path.
2026-04-27 07:06:26 +02:00
littlecodedragon
acca36c3a3 Harden JDK package-manager detection in Forgejo release job.
Some checks failed
Forgejo Release Builder / release (push) Failing after 23m19s
Log PATH and package manager probes, check common absolute binary locations, and keep workflow free of control bytes for Forgejo parsing.
2026-04-27 06:41:24 +02:00
littlecodedragon
fc6b46b07b Remove hidden control bytes from Forgejo workflow.
Some checks failed
Forgejo Release Builder / release (push) Failing after 6m42s
Clean trailing NUL bytes so Forgejo can parse build_release.yml and enqueue tag-based runs again.
2026-04-27 06:37:13 +02:00
littlecodedragon
2a0caf80ff Adjust Forgejo checkout URL for host-networked Docker jobs.
Use 127.0.0.1 Forgejo endpoint from job steps so clone and API calls stay local to the NAS host network path.
2026-04-27 06:23:46 +02:00
littlecodedragon
5396ebad7c Fix Forgejo release workflow for Docker executor.
Some checks failed
Forgejo Release Builder / release (push) Failing after 3m15s
Use a container-reachable Forgejo checkout URL and support package installs via root or sudo in container jobs.
2026-04-27 06:05:44 +02:00
littlecodedragon
1f554081a5 ci: make Forgejo JDK install distro-aware
Some checks failed
Forgejo Release Builder / release (push) Failing after 1s
Detect dnf/apt/apk/pacman in the Forgejo release workflow so Java setup works across runner base images.
2026-04-27 05:15:30 +02:00
littlecodedragon
029c3a25f0 ci: replace checkout action with shell clone on Forgejo
Some checks failed
Forgejo Release Builder / release (push) Failing after 1s
Avoid JS-based checkout action dependency because runner image lacks node binary.
2026-04-27 04:56:48 +02:00
littlecodedragon
f6d9e07077 ci: remove unavailable signing action on Forgejo
Some checks failed
Forgejo Release Builder / release (push) Failing after 0s
Drop external APK signing action and publish unsigned release artifacts in Forgejo workflow to keep pipeline executable.
2026-04-27 04:53:29 +02:00
littlecodedragon
138a92854e ci: remove external action dependencies in Forgejo workflow
Some checks failed
Forgejo Release Builder / release (push) Failing after 0s
Replace setup-java, write-file-action, and setup-gradle action steps with shell-based equivalents for reliable Forgejo execution.
2026-04-27 04:51:29 +02:00
littlecodedragon
dbee19612b ci: sanitize Forgejo release workflow yaml
Some checks failed
Forgejo Release Builder / release (push) Failing after 5s
Remove hidden control bytes so Forgejo can parse build_release.yml again.
2026-04-27 04:43:14 +02:00
littlecodedragon
efb1a1e539 ci: touch Forgejo workflow for trigger
Add a marker comment and keep Forgejo release workflow explicitly node20-compatible.
2026-04-26 17:33:58 +02:00
littlecodedragon
5b93575bab ci: fix Forgejo release workflow action versions
Switch checkout/setup-java/setup-gradle to node20-compatible action versions for Forgejo runner v3.5.1.
2026-04-26 17:19:39 +02:00
littlecodedragon
5351e4a2f8 ci: make workflows Forgejo runner compatible
Some checks failed
Forgejo Release Builder / release (push) Failing after 0s
Pin workflow actions to node20-compatible versions and replace node24-only dependencies so jobs run on Forgejo runner v3.5.1.

Made-with: Cursor
2026-04-26 17:11:53 +02:00
littlecodedragon
d51aaa39b9 ci: add Forgejo release workflow
Some checks failed
Forgejo Release Builder / release (push) Failing after 5s
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-24 14:28:23 +02:00
littlecodedragon
9c110ee46a docs: mention series ETA in README
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-24 14:10:11 +02:00
Cuong-Tran
bdf81596e9
chore: Avoid race conditions and improve bulk selection (#1606)
* avoid race conditions

* Improve Bulk selection

* Consolidate selection mode updates and list clearing into a single state update.
2026-04-23 16:30:55 +07:00
Cuong-Tran
d8eb71e004
chore(UI): Use remember getUiModel (#1605)
* use remember getUiModel

* update headerIndexes to use remember for state management

* Refactor LibraryUpdateErrorScreen to improve state management

*   Move header index calculation from the screen model to the presentation layer.
*   Optimize UI model and header index memoization using `remember(state)`.
*   Remove redundant `LaunchedEffect` and simplify scroll-to-index logic.

* Refactor LibraryUpdateErrorScreen to enhance state management with derivedStateOf
2026-04-23 15:19:54 +07:00
Cuong-Tran
bf9b663581 Optimize database indexes and clean up schema (#1603)
* Update `excluded_scanlators` index to a composite index on `manga_id` and `scanlator`.
* Convert `idx_history_last_read` into a partial index for entries where `last_read > 0`.
* Remove redundant `idx_manga_sync_manga_id` index.
* Remove unused `last_modified_at` column and its associated trigger from `mangas_categories`.
* Sync migration files with schema changes.
2026-04-23 00:02:39 +07:00
Luca Auer
8bb8d7ccb7 Add missing indexes to improve database query performance (mihonapp/mihon#2950)
(cherry picked from commit cae9fbf3213987e7d263845431dfac10a2ecb3b0)
2026-04-23 00:02:39 +07:00
MediocreLegion
80ea323281
fix(delegate): migrate NH to the v2 api (#1582)
* fix(delegate): migrate NH to the v2 api

* bump versionId

* remove versionId requirement

* gemini review suggestions

* remove dead code

* remove unused imports

* linging

* unneeded comment

* fix(delegate): migrate NH to the v2 api (jobobby04/TachiyomiSY#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>
(cherry picked from commit eec1236b8b5904b46d79bb716e29f073c6fe9b34)

* close `response`

* Avoid empty server list

---------

Co-authored-by: Jobobby04 <jobobby04@users.noreply.github.com>
Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-04-22 13:31:05 +07:00
Copilot
ee7fb26790
fix: remove expect/actual for LocalSource in single-target KMP module (#1602)
Agent-Logs-Url: https://github.com/komikku-app/komikku/sessions/5bf2689f-d906-47af-881b-4556f828a3a6

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: cuong-tran <16017808+cuong-tran@users.noreply.github.com>
2026-04-22 12:18:16 +07:00
Cuong-Tran
6f020399d8
chore(ci): Add SSH key setup for Codeberg repository mirroring (#1595) 2026-04-16 16:22:27 +07:00
Cuong-Tran
26d3be95e3
feat(UI): Mask WebDAV password while typing (#1564)
* Refactor

* feat(UI): Mask WebDAV password while typing

* fix: allow space as password

* use coroutines for asynchronous setting
2026-04-16 14:01:49 +07:00
Cuong-Tran
fd60bc7f13
fix(MangaDex): Fix nullability issues in track creation for MangaDex (#1527)
* fix(trackers-mangadex): Handle nullability in `createMdListTrack`

* Return null instead of throwing exception in initial track creation

* Improve error handling in `createMdListTrack`

* Change exception to return null when track not found

* handle nullability in MangaDex tracking
2026-04-16 12:52:51 +07:00
Cuong-Tran
6f06974524
feat: split "sync on add" into separate metadata and chapter fetch preferences (#1563)
* feat: split "sync on add" into separate metadata and chapter fetch preferences

* refactor: remove redundant SnackbarHostState and error snackbars when auto sync entries

* clean other languages strings
2026-03-17 13:09:48 +07:00
Weblate (bot)
edaf975e21
Translations update from Hosted Weblate (#1523)
* Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (208 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/zh_Hant/

* Translated using Weblate (Italian)

Currently translated at 94.7% (197 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/it/

* Translated using Weblate (Italian)

Currently translated at 95.1% (198 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/it/

* Translated using Weblate (Arabic)

Currently translated at 74.5% (155 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/ar/

* Translated using Weblate (Korean)

Currently translated at 30.7% (64 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/ko/

* Translated using Weblate (Russian)

Currently translated at 100.0% (208 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/ru/

* Translated using Weblate (Italian)

Currently translated at 95.1% (198 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/it/

* Translated using Weblate (Arabic)

Currently translated at 74.5% (155 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/ar/

* Translated using Weblate (Korean)

Currently translated at 30.7% (64 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/ko/

* Translated using Weblate (Italian)

Currently translated at 95.6% (199 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/it/

* Translated using Weblate (Arabic)

Currently translated at 74.5% (155 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/ar/

* Translated using Weblate (Arabic)

Currently translated at 74.5% (155 of 208 strings)

Translation: Komikku-App/Komikku
Translate-URL: https://hosted.weblate.org/projects/komikku-app/komikku/ar/

---------

Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Co-authored-by: Giulia <giuliachen6562@gmail.com>
Co-authored-by: pasquale ruotolo <pachiruo@gmail.com>
Co-authored-by: ZiadSenior <Ziadsenior@yahoo.com>
Co-authored-by: 안세훈 <on9686@gmail.com>
Co-authored-by: amigo browser <juniperforest1@proton.me>
Co-authored-by: Cuong Tran <cuongtran.tm@gmail.com>
2026-03-17 08:34:25 +07:00
Cuong-Tran
3fa1cf9e07 chore(deps): Automate app shortcuts with shortcut-helper plugin
- Revert shortcuts setup with `com.github.zellius.shortcut-helper`
- Switch to komikku-app/android-shortcut-gradle:0.2.0
2026-02-24 12:11:58 +07:00
renovate[bot]
e7a4a215d5
chore(deps): update github actions (#1507)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 18:39:01 +07:00
renovate[bot]
dfc89d4fc3
fix(deps): update dependency org.junit.jupiter:junit-jupiter to v6.0.3 (#1498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 18:38:54 +07:00
renovate[bot]
03667fbf85
fix(deps): update dependency androidx.compose:compose-bom to v2026.02.00 (#1493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 18:38:47 +07:00
renovate[bot]
86bfa87809
fix(deps): update paging.version to v3.4.1 (#1492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 18:38:38 +07:00
renovate[bot]
f20f44b516
fix(deps): update dependency androidx.activity:activity-compose to v1.12.4 (#1491)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 18:38:30 +07:00