Compare commits

...

10 commits

Author SHA1 Message Date
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
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
renovate[bot]
ebfbc6498f
fix(deps): update dependency dev.chrisbanes.haze:haze to v1.7.2 (#1487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 18:38:21 +07:00
renovate[bot]
9eeadee712
fix(deps): update dependency com.google.firebase:firebase-bom to v34.9.0 (#1478)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 18:38:10 +07:00
Weblate (bot)
5b14a51993
Translations update from Hosted Weblate (#1502)
* Translated using Weblate (Russian)

Currently translated at 100.0% (206 of 206 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 64.5% (133 of 206 strings)

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

---------

Co-authored-by: amigo browser <juniperforest1@proton.me>
Co-authored-by: Erick Alejandro <erickux@gmail.com>
2026-02-22 18:37:30 +07:00
13 changed files with 30 additions and 64 deletions

View file

@ -53,7 +53,7 @@ jobs:
uses: tj-actions/branch-names@5250492686b253f06fa55861556d1027b067aeb5 # v9.0.2 uses: tj-actions/branch-names@5250492686b253f06fa55861556d1027b067aeb5 # v9.0.2
- name: Invoke workflow in preview repo - name: Invoke workflow in preview repo
uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc # v1.2.4 uses: benc-uk/workflow-dispatch@a54f9d194fed472732282ed1597dc4909e4b4080 # v1.3.0
with: with:
workflow: build_app.yml workflow: build_app.yml
repo: komikku-app/komikku-preview repo: komikku-app/komikku-preview

View file

@ -35,7 +35,7 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- name: Dependency Review - name: Dependency Review
uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4.8.2 uses: actions/dependency-review-action@05fe4576374b728f0c523d6a13d64c25081e0803 # v4.8.3
- name: Validate Gradle Wrapper - name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@f29f5a9d7b09a7c6b29859002d29d24e1674c884 # v5.0.1 uses: gradle/actions/wrapper-validation@f29f5a9d7b09a7c6b29859002d29d24e1674c884 # v5.0.1

View file

@ -13,7 +13,7 @@ jobs:
steps: steps:
- name: Update website on release - name: Update website on release
uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc # v1.2.4 uses: benc-uk/workflow-dispatch@a54f9d194fed472732282ed1597dc4909e4b4080 # v1.3.0
with: with:
workflow: Deploy workflow: Deploy
repo: komikku-app/komikku-app.github.io repo: komikku-app/komikku-app.github.io

1
README.md Normal file → Executable file
View file

@ -59,6 +59,7 @@ A free and open source manga reader which is based off TachiyomiSY & Mihon/Tachi
- Long-click to add/remove single entry to/from library, everywhere. - Long-click to add/remove single entry to/from library, everywhere.
- Docking Read/Resume button to left/right. - Docking Read/Resume button to left/right.
- In-app progress banner shows Library syncing / Backup restoring / Library updating progress. - In-app progress banner shows Library syncing / Backup restoring / Library updating progress.
- `Series ETA` / reading time estimate in the reader, with optional persistence across sessions.
- Auto-install app update. - Auto-install app update.
- Configurable interval to refresh entries from downloaded storage. - Configurable interval to refresh entries from downloaded storage.
- Forked from SY so everything from SY. - Forked from SY so everything from SY.

View file

@ -6,6 +6,7 @@ import mihon.buildlogic.getGitSha
plugins { plugins {
id("mihon.android.application") id("mihon.android.application")
id("mihon.android.application.compose") id("mihon.android.application.compose")
id("com.github.zellius.shortcut-helper")
kotlin("plugin.parcelize") kotlin("plugin.parcelize")
kotlin("plugin.serialization") kotlin("plugin.serialization")
alias(libs.plugins.aboutLibraries) alias(libs.plugins.aboutLibraries)
@ -19,6 +20,8 @@ if (Config.includeTelemetry) {
} }
} }
shortcutHelper.setFilePath("./shortcuts.xml")
android { android {
namespace = "eu.kanade.tachiyomi" namespace = "eu.kanade.tachiyomi"

View file

@ -8,7 +8,6 @@
android:shortcutShortLabel="@string/label_library"> android:shortcutShortLabel="@string/label_library">
<intent <intent
android:action="eu.kanade.tachiyomi.SHOW_LIBRARY" android:action="eu.kanade.tachiyomi.SHOW_LIBRARY"
android:targetPackage="app.komikku"
android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" /> android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" />
</shortcut> </shortcut>
<shortcut <shortcut
@ -20,7 +19,6 @@
android:shortcutShortLabel="@string/label_recent_updates"> android:shortcutShortLabel="@string/label_recent_updates">
<intent <intent
android:action="eu.kanade.tachiyomi.SHOW_RECENTLY_UPDATED" android:action="eu.kanade.tachiyomi.SHOW_RECENTLY_UPDATED"
android:targetPackage="app.komikku"
android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" /> android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" />
</shortcut> </shortcut>
<shortcut <shortcut
@ -32,7 +30,6 @@
android:shortcutShortLabel="@string/label_recent_manga"> android:shortcutShortLabel="@string/label_recent_manga">
<intent <intent
android:action="eu.kanade.tachiyomi.SHOW_RECENTLY_READ" android:action="eu.kanade.tachiyomi.SHOW_RECENTLY_READ"
android:targetPackage="app.komikku"
android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" /> android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" />
</shortcut> </shortcut>
<shortcut <shortcut
@ -44,7 +41,6 @@
android:shortcutShortLabel="@string/browse"> android:shortcutShortLabel="@string/browse">
<intent <intent
android:action="eu.kanade.tachiyomi.SHOW_CATALOGUES" android:action="eu.kanade.tachiyomi.SHOW_CATALOGUES"
android:targetPackage="app.komikku"
android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" /> android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" />
</shortcut> </shortcut>
</shortcuts> </shortcuts>

View file

@ -1,50 +0,0 @@
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:enabled="true"
android:icon="@drawable/sc_collections_bookmark_48dp"
android:shortcutDisabledMessage="@string/app_not_available"
android:shortcutId="show_library"
android:shortcutLongLabel="@string/label_library"
android:shortcutShortLabel="@string/label_library">
<intent
android:action="eu.kanade.tachiyomi.SHOW_LIBRARY"
android:targetPackage="app.komikku.beta"
android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" />
</shortcut>
<shortcut
android:enabled="true"
android:icon="@drawable/sc_new_releases_48dp"
android:shortcutDisabledMessage="@string/app_not_available"
android:shortcutId="show_recently_updated"
android:shortcutLongLabel="@string/label_recent_updates"
android:shortcutShortLabel="@string/label_recent_updates">
<intent
android:action="eu.kanade.tachiyomi.SHOW_RECENTLY_UPDATED"
android:targetPackage="app.komikku.beta"
android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" />
</shortcut>
<shortcut
android:enabled="true"
android:icon="@drawable/sc_history_48dp"
android:shortcutDisabledMessage="@string/app_not_available"
android:shortcutId="show_recently_read"
android:shortcutLongLabel="@string/label_recent_manga"
android:shortcutShortLabel="@string/label_recent_manga">
<intent
android:action="eu.kanade.tachiyomi.SHOW_RECENTLY_READ"
android:targetPackage="app.komikku.beta"
android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" />
</shortcut>
<shortcut
android:enabled="true"
android:icon="@drawable/sc_explore_48dp"
android:shortcutDisabledMessage="@string/app_not_available"
android:shortcutId="show_catalogues"
android:shortcutLongLabel="@string/browse"
android:shortcutShortLabel="@string/browse">
<intent
android:action="eu.kanade.tachiyomi.SHOW_CATALOGUES"
android:targetPackage="app.komikku.beta"
android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity" />
</shortcut>
</shortcuts>

View file

@ -1,6 +1,6 @@
buildscript { buildscript {
dependencies { dependencies {
// classpath(libs.android.shortcut.gradle) classpath(libs.android.shortcut.gradle)
classpath(sylibs.gradleversionsx) classpath(sylibs.gradleversionsx)
} }
} }

View file

@ -1,7 +1,7 @@
[versions] [versions]
agp_version = "8.13.2" agp_version = "8.13.2"
lifecycle_version = "2.10.0" lifecycle_version = "2.10.0"
paging_version = "3.4.0" paging_version = "3.4.1"
interpolator_version = "1.0.0" interpolator_version = "1.0.0"
[libraries] [libraries]

View file

@ -1,8 +1,8 @@
[versions] [versions]
compose-bom = "2026.01.01" compose-bom = "2026.02.00"
[libraries] [libraries]
activity = "androidx.activity:activity-compose:1.12.3" activity = "androidx.activity:activity-compose:1.12.4"
bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" } bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
foundation = { module = "androidx.compose.foundation:foundation" } foundation = { module = "androidx.compose.foundation:foundation" }
animation = { module = "androidx.compose.animation:animation" } animation = { module = "androidx.compose.animation:animation" }

View file

@ -9,13 +9,14 @@ sqlite = "2.6.2"
voyager = "1.1.0-beta03" voyager = "1.1.0-beta03"
spotless = "8.2.1" spotless = "8.2.1"
ktlint-core = "1.8.0" ktlint-core = "1.8.0"
firebase-bom = "34.8.0" firebase-bom = "34.9.0"
markdown = "0.39.2" markdown = "0.39.2"
junit = "6.0.2" junit = "6.0.3"
materialKolor = "5.0.0-alpha06" materialKolor = "5.0.0-alpha06"
[libraries] [libraries]
desugar = "com.android.tools:desugar_jdk_libs:2.1.5" desugar = "com.android.tools:desugar_jdk_libs:2.1.5"
android-shortcut-gradle = "com.github.komikku-app:android-shortcut-gradle-plugin:0.2.0"
rxjava = "io.reactivex:rxjava:1.3.8" rxjava = "io.reactivex:rxjava:1.3.8"
@ -65,7 +66,7 @@ compose-webview = "io.github.kevinnzou:compose-webview:0.33.6"
compose-grid = "io.woong.compose.grid:grid:1.2.2" compose-grid = "io.woong.compose.grid:grid:1.2.2"
reorderable = { module = "sh.calvin.reorderable:reorderable", version = "3.0.0" } reorderable = { module = "sh.calvin.reorderable:reorderable", version = "3.0.0" }
palette-ktx = "androidx.palette:palette-ktx:1.0.0" palette-ktx = "androidx.palette:palette-ktx:1.0.0"
haze = "dev.chrisbanes.haze:haze:1.7.1" haze = "dev.chrisbanes.haze:haze:1.7.2"
swipe = "me.saket.swipe:swipe:1.3.0" swipe = "me.saket.swipe:swipe:1.3.0"

View file

@ -134,4 +134,5 @@
<string name="pref_show_empty_categories_search">Mostrar categorías vacías durante la búsqueda/filtrado</string> <string name="pref_show_empty_categories_search">Mostrar categorías vacías durante la búsqueda/filtrado</string>
<string name="pref_track_on_add_library">Abrir menú de seguimiento al añadir a la biblioteca</string> <string name="pref_track_on_add_library">Abrir menú de seguimiento al añadir a la biblioteca</string>
<string name="downloaded_data">Datos descargados</string> <string name="downloaded_data">Datos descargados</string>
<string name="login_failed">Error al iniciar sesión</string>
</resources> </resources>

View file

@ -192,4 +192,18 @@
<string name="pref_discord_show_discord_button_summary">Показывает кнопку для присоединения к серверу Discord</string> <string name="pref_discord_show_discord_button_summary">Показывает кнопку для присоединения к серверу Discord</string>
<string name="job_failed_schedule_update_check">Не удалось запланировать автоматическое обновление библиотеки: %s</string> <string name="job_failed_schedule_update_check">Не удалось запланировать автоматическое обновление библиотеки: %s</string>
<string name="job_failed_schedule_backup_check">Не удалось запланировать автоматический бэкап: %s</string> <string name="job_failed_schedule_backup_check">Не удалось запланировать автоматический бэкап: %s</string>
<string name="pref_webdav_folder_summ">Приложение будет хранить данные в этой папке</string>
<string name="web_dav">WebDAV</string>
<string name="pref_webdav_url">URL WebDAV сервера</string>
<string name="pref_webdav_url_summ">Введите адрес WebDAV сервера</string>
<string name="pref_webdav_username">Имя пользователя</string>
<string name="pref_webdav_username_summ">Введите имя вашего аккаунта WebDAV</string>
<string name="pref_webdav_password">Пароль</string>
<string name="pref_webdav_password_summ">Введите пароль вашего аккаунта WebDAV</string>
<string name="pref_webdav_folder">Папка данных WebDAV</string>
<string name="action_filter_unfinished_manga">Незаконченные тайтлы</string>
<string name="action_filter_unfinished_chapter">Незаконченные главы</string>
<string name="action_filter_non_library_entries">Тайтлы не в библиотеке</string>
<string name="pref_sync_manga_on_add">Синхронизировать тайтлы при добавлении в библиотеку</string>
<string name="pref_sync_manga_on_add_description">Автоматически загружает метаданные и список глав при добавлении в библиотеку</string>
</resources> </resources>