littlecodedragon
780bd1bfc0
ci: rebalance JVM memory towards metaspace for buildSrc
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
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
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
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
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
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
Forgejo Release Builder / release (push) Failing after 5m28s
2026-05-06 22:04:16 +02:00
littlecodedragon
af860b5f9d
Merge remote-tracking branch 'upstream/master'
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.
...
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.
...
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.
...
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.
...
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.
...
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.
...
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.
...
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.
...
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.
...
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.
...
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.
...
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.
...
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
...
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
...
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
...
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
...
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
...
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
...
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
...
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