diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 42d8aba2f..77eca2371 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -6,7 +6,7 @@ I acknowledge that: - To the latest version of the app (stable is v1.10.2) - All extensions - I have gone through the FAQ (https://tachiyomi.org/docs/faq/general) and troubleshooting guide (https://tachiyomi.org/docs/guides/troubleshooting/) -- If this is an issue with an official extension, that I should be opening an issue in https://github.com/cuong-tran/komikku-extensions +- If this is an issue with an official extension, that I should be opening an issue in https://github.com/komikku-app/komikku-extensions - I have searched the existing issues and this is new ticket **NOT** a duplicate or related to another open or closed issue - I will fill out the title and the information in this template diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index f98f49fe3..c0d2a4e75 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,10 +1,10 @@ blank_issues_enabled: false contact_links: - name: ⚠️ Extension/source issue - url: https://github.com/cuong-tran/komikku-extensions/issues/new/choose + url: https://github.com/komikku-app/komikku-extensions/issues/new/choose about: Issues and requests for official extensions and sources should be opened in the extensions repository instead - name: 📦 Extensions - url: https://cuong-tran.github.io/tachiyomi-extensions/ + url: https://komikku-app.github.io/tachiyomi-extensions/ about: List of all available extensions with download links - name: 🖥️ Tachiyomi website url: https://tachiyomi.org/ diff --git a/.github/ISSUE_TEMPLATE/report_issue.yml b/.github/ISSUE_TEMPLATE/report_issue.yml index 17a7bfbec..7a7216848 100644 --- a/.github/ISSUE_TEMPLATE/report_issue.yml +++ b/.github/ISSUE_TEMPLATE/report_issue.yml @@ -94,11 +94,11 @@ body: required: true - label: I have written a short but informative title. required: true - - label: If this is an issue with an official extension, I should be opening an issue in the [extensions repository](https://github.com/cuong-tran/komikku-extensions/issues/new/choose). + - label: If this is an issue with an official extension, I should be opening an issue in the [extensions repository](https://github.com/komikku-app/komikku-extensions/issues/new/choose). required: true - label: I have gone through the [FAQ](https://tachiyomi.org/docs/faq/general) and [troubleshooting guide](https://tachiyomi.org/docs/guides/troubleshooting/). required: true - - label: I have updated the app to version **[1.10.2](https://github.com/cuong-tran/komikku/releases/latest)**. + - label: I have updated the app to version **[1.10.2](https://github.com/komikku-app/komikku/releases/latest)**. required: true - label: I have updated all installed extensions. required: true diff --git a/.github/ISSUE_TEMPLATE/request_feature.yml b/.github/ISSUE_TEMPLATE/request_feature.yml index e3a5fbe7f..f159a3145 100644 --- a/.github/ISSUE_TEMPLATE/request_feature.yml +++ b/.github/ISSUE_TEMPLATE/request_feature.yml @@ -31,9 +31,9 @@ body: required: true - label: I have written a short but informative title. required: true - - label: If this is an issue with an official extension, I should be opening an issue in the [extensions repository](https://github.com/cuong-tran/komikku-extensions/issues/new/choose). + - label: If this is an issue with an official extension, I should be opening an issue in the [extensions repository](https://github.com/komikku-app/komikku-extensions/issues/new/choose). required: true - - label: I have updated the app to version **[1.10.2](https://github.com/cuong-tran/komikku/releases/latest)**. + - label: I have updated the app to version **[1.10.2](https://github.com/komikku-app/komikku/releases/latest)**. required: true - label: I will fill out all of the requested information in this form. required: true diff --git a/.github/workflows/build_develop.yml b/.github/workflows/build_develop.yml index 4c1373a78..35cf74276 100644 --- a/.github/workflows/build_develop.yml +++ b/.github/workflows/build_develop.yml @@ -37,7 +37,7 @@ jobs: write-mode: overwrite - name: Build app - if: ${{ ! startsWith(github.ref, 'refs/tags/') && github.repository == 'cuong-tran/komikku' }} + if: ${{ ! startsWith(github.ref, 'refs/tags/') && github.repository == 'komikku-app/komikku' }} uses: gradle/gradle-command-action@v2 with: arguments: assembleStandardRelease -x ktlintFormat --stacktrace diff --git a/.github/workflows/build_preview.yml b/.github/workflows/build_preview.yml index b74491852..c3834ca47 100644 --- a/.github/workflows/build_preview.yml +++ b/.github/workflows/build_preview.yml @@ -33,7 +33,7 @@ jobs: echo "COMMIT_LOGS<<{delimiter} $(curl -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/cuong-tran/komikku/compare/$prev_release_sha...$current_sha" \ + "https://api.github.com/repos/komikku-app/komikku/compare/$prev_release_sha...$current_sha" \ | jq '[.commits[]|{message:(.commit.message | split("\n")), username:.author.login}]' \ | jq -r '.[]|"- \(.message | first) (@\(.username))"') {delimiter}" >> $GITHUB_ENV @@ -84,13 +84,13 @@ jobs: write-mode: overwrite - name: Build app - if: ${{ ! startsWith(github.ref, 'refs/tags/') && github.repository == 'cuong-tran/komikku' }} + if: ${{ ! startsWith(github.ref, 'refs/tags/') && github.repository == 'komikku-app/komikku' }} uses: gradle/gradle-command-action@v2 with: arguments: assembleStandardRelease -x ktlintFormat --stacktrace - name: Sign Android Release - if: ${{ ! startsWith(github.ref, 'refs/tags/') && github.repository == 'cuong-tran/komikku' }} + if: ${{ ! startsWith(github.ref, 'refs/tags/') && github.repository == 'komikku-app/komikku' }} uses: r0adkll/sign-android-release@v1 with: releaseDirectory: app/build/outputs/apk/standard/release @@ -100,7 +100,7 @@ jobs: keyPassword: ${{ secrets.KEY_PASSWORD }} - name: Clean up build artifacts - if: ${{ ! startsWith(github.ref, 'refs/tags/') && github.repository == 'cuong-tran/komikku' }} + if: ${{ ! startsWith(github.ref, 'refs/tags/') && github.repository == 'komikku-app/komikku' }} run: | set -e @@ -125,7 +125,7 @@ jobs: echo "APK_X86_64_SHA=$sha" >> $GITHUB_ENV - name: Create release - if: ${{ ! startsWith(github.ref, 'refs/tags/') && github.repository == 'cuong-tran/komikku' }} + if: ${{ ! startsWith(github.ref, 'refs/tags/') && github.repository == 'komikku-app/komikku' }} uses: softprops/action-gh-release@v1 with: tag_name: pre-release-${{ github.run_number }} diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index e5f26860f..c5d3cc20f 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -33,7 +33,7 @@ jobs: echo "COMMIT_LOGS<<{delimiter} $(curl -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/cuong-tran/komikku/compare/$prev_release_sha...$current_sha" \ + "https://api.github.com/repos/komikku-app/komikku/compare/$prev_release_sha...$current_sha" \ | jq '[.commits[]|{message:(.commit.message | split("\n")), username:.author.login}]' \ | jq -r '.[]|"- \(.message | first) (@\(.username))"') {delimiter}" >> $GITHUB_ENV @@ -75,20 +75,20 @@ jobs: # SY --> - name: Build app and run unit tests - if: startsWith(github.ref, 'refs/tags/') && github.repository == 'cuong-tran/komikku' + if: startsWith(github.ref, 'refs/tags/') && github.repository == 'komikku-app/komikku' uses: gradle/gradle-command-action@v2 with: arguments: assembleStandardRelease testStandardReleaseUnitTest --stacktrace # Sign APK and create release for tags - name: Get tag name - if: startsWith(github.ref, 'refs/tags/') && github.repository == 'cuong-tran/komikku' + if: startsWith(github.ref, 'refs/tags/') && github.repository == 'komikku-app/komikku' run: | set -x echo "VERSION_TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV - name: Sign APK - if: startsWith(github.ref, 'refs/tags/') && github.repository == 'cuong-tran/komikku' + if: startsWith(github.ref, 'refs/tags/') && github.repository == 'komikku-app/komikku' uses: r0adkll/sign-android-release@v1 with: releaseDirectory: app/build/outputs/apk/standard/release @@ -98,7 +98,7 @@ jobs: keyPassword: ${{ secrets.KEY_PASSWORD }} - name: Clean up build artifacts - if: startsWith(github.ref, 'refs/tags/') && github.repository == 'cuong-tran/komikku' + if: startsWith(github.ref, 'refs/tags/') && github.repository == 'komikku-app/komikku' run: | set -e @@ -123,7 +123,7 @@ jobs: echo "APK_X86_64_SHA=$sha" >> $GITHUB_ENV - name: Create release - if: startsWith(github.ref, 'refs/tags/') && github.repository == 'cuong-tran/komikku' + if: startsWith(github.ref, 'refs/tags/') && github.repository == 'komikku-app/komikku' uses: softprops/action-gh-release@v1 with: tag_name: ${{ env.VERSION_TAG }} diff --git a/.github/workflows/issue_moderator.yml b/.github/workflows/issue_moderator.yml index c5c6bf213..088539470 100644 --- a/.github/workflows/issue_moderator.yml +++ b/.github/workflows/issue_moderator.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Moderate issues - uses: cuong-tran/issue-moderator-action@v2 + uses: komikku-app/issue-moderator-action@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} duplicate-label: Duplicate diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9d072b9d0..cbf8dffff 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -Looking to report an issue/bug or make a feature request? Please refer to the [README file](https://github.com/cuong-tran/komikku#issues-feature-requests-and-contributing). +Looking to report an issue/bug or make a feature request? Please refer to the [README file](https://github.com/komikku-app/komikku#issues-feature-requests-and-contributing). --- @@ -9,7 +9,7 @@ Thanks for your interest in contributing to Komikku! Pull requests are welcome! -If you're interested in taking on [an open issue](https://github.com/cuong-tran/komikku/issues), please comment on it so others are aware. +If you're interested in taking on [an open issue](https://github.com/komikku-app/komikku/issues), please comment on it so others are aware. You do not need to ask for permission nor an assignment. ## Prerequisites @@ -39,16 +39,16 @@ Translations are done externally via Weblate. See [our website](https://tachiyom # Forks -Forks are allowed so long as they abide by [the project's LICENSE](https://github.com/cuong-tran/komikku/blob/master/LICENSE). +Forks are allowed so long as they abide by [the project's LICENSE](https://github.com/komikku-app/komikku/blob/master/LICENSE). When creating a fork, remember to: - To avoid confusion with the main app: - Change the app name - Change the app icon - - Change or disable the [app update checker](https://github.com/cuong-tran/komikku/blob/master/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt) + - Change or disable the [app update checker](https://github.com/komikku-app/komikku/blob/master/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt) - To avoid installation conflicts: - - Change the `applicationId` in [`build.gradle.kts`](https://github.com/cuong-tran/komikku/blob/master/app/build.gradle.kts) + - Change the `applicationId` in [`build.gradle.kts`](https://github.com/komikku-app/komikku/blob/master/app/build.gradle.kts) - To avoid having your data polluting the main app's analytics and crash report services: - - If you want to use Firebase analytics, replace [`google-services.json`](https://github.com/cuong-tran/komikku/blob/master/app/src/standard/google-services.json) with your own - - If you want to use ACRA crash reporting, replace the `ACRA_URI` endpoint in [`build.gradle.kts`](https://github.com/cuong-tran/komikku/blob/master/app/build.gradle.kts) with your own + - If you want to use Firebase analytics, replace [`google-services.json`](https://github.com/komikku-app/komikku/blob/master/app/src/standard/google-services.json) with your own + - If you want to use ACRA crash reporting, replace the `ACRA_URI` endpoint in [`build.gradle.kts`](https://github.com/komikku-app/komikku/blob/master/app/build.gradle.kts) with your own diff --git a/README.md b/README.md index 48c9c9ce2..88a367dea 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ | Releases | Preview builds | Dev builds | PR builds | Mihon Support Server | |----------|----------------|------------|-----------|----------------------| -| [![stable release](https://img.shields.io/github/release/cuong-tran/komikku.svg?maxAge=3600&label=download)](https://github.com/cuong-tran/komikku/releases/latest) | [![Preview Builder](https://github.com/cuong-tran/komikku/actions/workflows/build_preview.yml/badge.svg)](https://github.com/cuong-tran/komikku/actions/workflows/build_preview.yml) | [![Development Builder](https://github.com/cuong-tran/komikku/actions/workflows/build_develop.yml/badge.svg)](https://github.com/cuong-tran/komikku/actions/workflows/build_develop.yml) | [![CI](https://github.com/cuong-tran/komikku/actions/workflows/build_check.yml/badge.svg)](https://github.com/cuong-tran/komikku/actions/workflows/build_check.yml) | [![Discord](https://img.shields.io/discord/1195734228319617024.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/mihon) | +| [![stable release](https://img.shields.io/github/release/komikku-app/komikku.svg?maxAge=3600&label=download)](https://github.com/komikku-app/komikku/releases/latest) | [![Preview Builder](https://github.com/komikku-app/komikku/actions/workflows/build_preview.yml/badge.svg)](https://github.com/komikku-app/komikku/actions/workflows/build_preview.yml) | [![Development Builder](https://github.com/komikku-app/komikku/actions/workflows/build_develop.yml/badge.svg)](https://github.com/komikku-app/komikku/actions/workflows/build_develop.yml) | [![CI](https://github.com/komikku-app/komikku/actions/workflows/build_check.yml/badge.svg)](https://github.com/komikku-app/komikku/actions/workflows/build_check.yml) | [![Discord](https://img.shields.io/discord/1195734228319617024.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/mihon) | # ![app icon](./.github/readme-images/app-icon.png) Komikku @@ -76,7 +76,7 @@ Additional features for some extensions, features include custom description, op * Tsumino ## Download -Get the app from our [releases page](https://github.com/cuong-tran/komikku/releases/latest). +Get the app from our [releases page](https://github.com/komikku-app/komikku/releases/latest). If you want to try new features before they get to the stable release, you can download the preview version [here](https://github.com/jobobby04/tachiyomisypreview/releases). @@ -86,7 +86,7 @@ Please make sure to read the full guidelines. Your issue may be closed without w
Issues -1. **Before reporting a new issue, take a look at the [FAQ](https://tachiyomi.org/docs/faq/general), the [changelog](https://github.com/cuong-tran/komikku/releases) and the already opened [issues](https://github.com/cuong-tran/komikku/issues).** +1. **Before reporting a new issue, take a look at the [FAQ](https://tachiyomi.org/docs/faq/general), the [changelog](https://github.com/komikku-app/komikku/releases) and the already opened [issues](https://github.com/komikku-app/komikku/issues).** 2. If you are unsure, ask here: [![Discord](https://img.shields.io/discord/1195734228319617024.svg)](https://discord.gg/mihon)
diff --git a/app/src/main/java/eu/kanade/domain/extension/interactor/CreateExtensionRepo.kt b/app/src/main/java/eu/kanade/domain/extension/interactor/CreateExtensionRepo.kt index d0187fb2f..9d96ecb90 100644 --- a/app/src/main/java/eu/kanade/domain/extension/interactor/CreateExtensionRepo.kt +++ b/app/src/main/java/eu/kanade/domain/extension/interactor/CreateExtensionRepo.kt @@ -22,5 +22,5 @@ class CreateExtensionRepo(private val preferences: SourcePreferences) { } } -const val OFFICIAL_REPO_BASE_URL = "https://raw.githubusercontent.com/cuong-tran/komikku-extensions/repo" +const val OFFICIAL_REPO_BASE_URL = "https://raw.githubusercontent.com/komikku-app/komikku-extensions/repo" private val repoRegex = """^https://.*/index\.min\.json$""".toRegex() diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt index 1f3f2f888..d152534da 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt @@ -107,6 +107,20 @@ fun BrowseSourceToolbar( ), ) } + // KMK --> + add( + AppBar.OverflowAction( + title = stringResource(MR.strings.pref_invalidate_download_cache), + onClick = { }, + ), + ) + add( + AppBar.OverflowAction( + title = stringResource(MR.strings.pref_clean_invalid_downloads), + onClick = { }, + ), + ) + // KMK <-- } // SY <-- if (isConfigurableSource) { diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt index 7a4714cce..bc9855932 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt @@ -190,6 +190,21 @@ fun MangaToolbar( ) } // SY <-- + // KMK --> + add( + AppBar.OverflowAction( + title = stringResource(MR.strings.pref_invalidate_download_cache), + onClick = { }, + ), + ) + add( + AppBar.OverflowAction( + title = stringResource(MR.strings.pref_clean_invalid_downloads), + onClick = { }, + ), + ) + // KMK <-- + } .build(), ) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt index f4dcbd711..951fcb274 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt @@ -235,6 +235,16 @@ object SettingsAdvancedScreen : SearchableSettings { context.toast(MR.strings.download_cache_invalidated) }, ), + // KMK --> + Preference.PreferenceItem.TextPreference( + title = stringResource(MR.strings.pref_clean_invalid_downloads), + subtitle = stringResource(MR.strings.pref_clean_invalid_downloads_summary), + onClick = { + Injekt.get().invalidateCache() + context.toast(MR.strings.invalid_downloads_cleaned) + }, + ), + // KMK <-- Preference.PreferenceItem.TextPreference( title = stringResource(MR.strings.pref_clear_database), subtitle = stringResource(MR.strings.pref_clear_database_summary), diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt index 4bebe00f9..6bfb132ed 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt @@ -210,7 +210,7 @@ object AboutScreen : Screen() { label = "GitHub", icon = CustomIcons.Github, // SY --> - url = "https://github.com/cuong-tran/komikku", + url = "https://github.com/komikku-app/komikku", // SY <-- ) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt index e3563fe8d..27dc1d3f3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt @@ -173,6 +173,8 @@ class DownloadCache( /** * Returns the amount of downloaded chapters for a manga. + * This method is quick, but might count other junk files + * It's still maybe useful while developing the clean-up features * * @param manga the manga to check. */ @@ -321,6 +323,15 @@ class DownloadCache( renewCache() } + // KMK --> + fun cleanInvalidDownloads() { + lastRenew = 0L + renewalJob?.cancel() + diskCacheFile.delete() + renewCache() + } + // KMK <-- + /** * Renews the downloads cache. */ diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt b/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt index 7a2ad6558..ea1719ae5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt @@ -52,9 +52,9 @@ class AppUpdateChecker { val GITHUB_REPO: String by lazy { // SY --> if (isPreviewBuildType) { - "cuong-tran/komikku" + "komikku-app/komikku" } else { - "cuong-tran/komikku" + "komikku-app/komikku" } // SY <-- } diff --git a/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt b/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt index cca8df251..556c20cf8 100644 --- a/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt +++ b/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt @@ -58,7 +58,7 @@ class GetApplicationRelease( val currentInt = syDebugVersion.toIntOrNull() currentInt != null && newVersion.toInt() > currentInt } else { - // Release builds: based on releases in "cuong-tran/komikku" repo + // Release builds: based on releases in "komikku-app/komikku" repo // tagged as something like "0.1.2" val oldVersion = versionName.replace("[^\\d.]".toRegex(), "") diff --git a/i18n/src/commonMain/resources/MR/base/strings.xml b/i18n/src/commonMain/resources/MR/base/strings.xml index 8aa65e8b2..ce35f07cb 100644 --- a/i18n/src/commonMain/resources/MR/base/strings.xml +++ b/i18n/src/commonMain/resources/MR/base/strings.xml @@ -554,6 +554,11 @@ Reset default user agent string Requires app restart to take effect Cookies cleared + + Clean invalid downloads + Find and remove all downloads, files, folders which are not saved in your library + Invalid downloads cleaned + Invalidate downloads index Force app to recheck downloaded chapters Downloads index invalidated