From 7e71162519e3676ea41831aefa79db282d2049e6 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+antsylich@users.noreply.github.com> Date: Sun, 3 Aug 2025 02:23:15 +0600 Subject: [PATCH] Remove checksum from release notes and improve download tip (cherry picked from commit b93337cb3d53278e191cf1dceeaf6c4effdb141d) --- .github/workflows/build_preview.yml | 33 +++---------------- .github/workflows/build_release.yml | 31 +++-------------- .../presentation/more/WhatsNewScreen.kt | 4 +-- .../more/settings/screen/about/AboutScreen.kt | 3 +- .../ui/library/LibraryScreenModel.kt | 2 +- .../tachiyomi/ui/more/ComingUpdatesScreen.kt | 2 +- .../data/release/ReleaseServiceImpl.kt | 6 ++-- .../interactor/GetApplicationRelease.kt | 16 +++------ 8 files changed, 21 insertions(+), 76 deletions(-) diff --git a/.github/workflows/build_preview.yml b/.github/workflows/build_preview.yml index 5e2045629..1bee137aa 100644 --- a/.github/workflows/build_preview.yml +++ b/.github/workflows/build_preview.yml @@ -102,7 +102,7 @@ jobs: git tag "${{ steps.prepare_env.outputs.TAG_NAME }}" git push origin "${{ steps.prepare_env.outputs.TAG_NAME }}" echo "New tag created: ${{ steps.prepare_env.outputs.TAG_NAME }}" - + - name: Commit logs id: commit_logs run: | @@ -189,24 +189,10 @@ jobs: set -e mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-universal-preview-signed.apk Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk - sha=`sha256sum Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk | awk '{ print $1 }'` - echo "APK_UNIVERSAL_SHA=$sha" >> $GITHUB_OUTPUT - mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-arm64-v8a-preview-signed.apk Komikku-arm64-v8a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk - sha=`sha256sum Komikku-arm64-v8a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk | awk '{ print $1 }'` - echo "APK_ARM64_V8A_SHA=$sha" >> $GITHUB_OUTPUT - mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-armeabi-v7a-preview-signed.apk Komikku-armeabi-v7a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk - sha=`sha256sum Komikku-armeabi-v7a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk | awk '{ print $1 }'` - echo "APK_ARMEABI_V7A_SHA=$sha" >> $GITHUB_OUTPUT - mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-x86-preview-signed.apk Komikku-x86-${{ needs.prepare-build.outputs.TAG_NAME }}.apk - sha=`sha256sum Komikku-x86-${{ needs.prepare-build.outputs.TAG_NAME }}.apk | awk '{ print $1 }'` - echo "APK_X86_SHA=$sha" >> $GITHUB_OUTPUT - mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-x86_64-preview-signed.apk Komikku-x86_64-${{ needs.prepare-build.outputs.TAG_NAME }}.apk - sha=`sha256sum Komikku-x86_64-${{ needs.prepare-build.outputs.TAG_NAME }}.apk | awk '{ print $1 }'` - echo "APK_X86_64_SHA=$sha" >> $GITHUB_OUTPUT - name: Create release uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1 @@ -226,19 +212,10 @@ jobs: **Full Changelog**: [komikku-app/komikku@${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.TAG_NAME }}](https://github.com/komikku-app/komikku/compare/${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.TAG_NAME }}) - --- - - ### Checksums - - | Variant | SHA-256 | - | ------- | ------- | - | Universal | ${{ steps.get_sha.outputs.APK_UNIVERSAL_SHA }} | - | arm64-v8a | ${{ steps.get_sha.outputs.APK_ARM64_V8A_SHA }} | - | armeabi-v7a | ${{ steps.get_sha.outputs.APK_ARMEABI_V7A_SHA }} | - | x86 | ${{ steps.get_sha.outputs.APK_X86_SHA }} | - | x86_64 | ${{ steps.get_sha.outputs.APK_X86_64_SHA }} | - - ### If you are unsure which apk to download then go with `Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk` + + > [!TIP] + > + > ### If you are unsure which version to download then go with `Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk` files: | Komikku-${{ needs.prepare-build.outputs.TAG_NAME }}.apk Komikku-arm64-v8a-${{ needs.prepare-build.outputs.TAG_NAME }}.apk diff --git a/.github/workflows/build_release.yml b/.github/workflows/build_release.yml index bc878633d..3f5361237 100644 --- a/.github/workflows/build_release.yml +++ b/.github/workflows/build_release.yml @@ -163,24 +163,10 @@ jobs: set -e mv app/build/outputs/apk/release/app-universal-release-unsigned-signed.apk Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk - sha=`sha256sum Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk | awk '{ print $1 }'` - echo "APK_UNIVERSAL_SHA=$sha" >> $GITHUB_OUTPUT - mv app/build/outputs/apk/release/app-arm64-v8a-release-unsigned-signed.apk Komikku-arm64-v8a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk - sha=`sha256sum Komikku-arm64-v8a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk | awk '{ print $1 }'` - echo "APK_ARM64_V8A_SHA=$sha" >> $GITHUB_OUTPUT - mv app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned-signed.apk Komikku-armeabi-v7a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk - sha=`sha256sum Komikku-armeabi-v7a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk | awk '{ print $1 }'` - echo "APK_ARMEABI_V7A_SHA=$sha" >> $GITHUB_OUTPUT - mv app/build/outputs/apk/release/app-x86-release-unsigned-signed.apk Komikku-x86-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk - sha=`sha256sum Komikku-x86-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk | awk '{ print $1 }'` - echo "APK_X86_SHA=$sha" >> $GITHUB_OUTPUT - mv app/build/outputs/apk/release/app-x86_64-release-unsigned-signed.apk Komikku-x86_64-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk - sha=`sha256sum Komikku-x86_64-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk | awk '{ print $1 }'` - echo "APK_X86_64_SHA=$sha" >> $GITHUB_OUTPUT - name: Create release uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1 @@ -202,19 +188,10 @@ jobs: **Full Changelog**: [komikku-app/komikku@${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.VERSION_TAG }}](https://github.com/komikku-app/komikku/compare/${{ needs.prepare-build.outputs.PREV_TAG_NAME }}...${{ needs.prepare-build.outputs.VERSION_TAG }}) - --- - - ### Checksums - - | Variant | SHA-256 | - | ------- | ------- | - | Universal | ${{ steps.get_sha.outputs.APK_UNIVERSAL_SHA }} | - | arm64-v8a | ${{ steps.get_sha.outputs.APK_ARM64_V8A_SHA }} | - | armeabi-v7a | ${{ steps.get_sha.outputs.APK_ARMEABI_V7A_SHA }} | - | x86 | ${{ steps.get_sha.outputs.APK_X86_SHA }} | - | x86_64 | ${{ steps.get_sha.outputs.APK_X86_64_SHA }} | - - ### If you are unsure which apk to download then go with `Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk` + + > [!TIP] + > + > ### If you are unsure which version to download then go with `Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk` files: | Komikku-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk Komikku-arm64-v8a-${{ needs.prepare-build.outputs.VERSION_TAG }}.apk diff --git a/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt b/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt index f070d5ecf..cb1efb48c 100644 --- a/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt @@ -84,7 +84,7 @@ private fun WhatsNewScreenPreview() { **Full Changelog**: [komikku-app/komikku@v1.13.0...v1.13.1](https://github.com/komikku-app/komikku/compare/v1.13.0...v1.13.1) - --- + ----- ## v1.12.6 @@ -96,7 +96,7 @@ private fun WhatsNewScreenPreview() { **Full Changelog**: [komikku-app/komikku@v1.12.5...v1.12.6](https://github.com/komikku-app/komikku/compare/v1.12.5...v1.12.6) - --- + ----- ## v1.12.5 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 6f58b324e..c30dc20f8 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 @@ -63,6 +63,7 @@ import java.time.LocalDateTime import java.time.ZoneId class AboutScreen : Screen() { + @Suppress("unused") private fun readResolve(): Any = AboutScreen @Composable @@ -402,7 +403,7 @@ class AboutScreen : Screen() { Injekt.get().dateFormat().get(), ), ) - } catch (e: Exception) { + } catch (_: Exception) { BuildConfig.BUILD_TIME } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt index 26329a379..05f0fe85a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt @@ -553,7 +553,7 @@ class LibraryScreenModel( // SY <-- // KMK --> filterFnCategories(it) - // KMK <--- + // KMK <-- } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/more/ComingUpdatesScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/more/ComingUpdatesScreen.kt index 441510e1f..58668d99a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/more/ComingUpdatesScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/more/ComingUpdatesScreen.kt @@ -22,7 +22,7 @@ class ComingUpdatesScreen( val navigator = LocalNavigator.currentOrThrow val context = LocalContext.current val changelogInfoNoChecksum = remember { - changelogInfo.replace("""---(\R|.)*Checksums(\R|.)*""".toRegex(), "") + changelogInfo } ComingUpdatesScreen( diff --git a/data/src/main/java/tachiyomi/data/release/ReleaseServiceImpl.kt b/data/src/main/java/tachiyomi/data/release/ReleaseServiceImpl.kt index 4d1022bc3..f7ad03bf2 100644 --- a/data/src/main/java/tachiyomi/data/release/ReleaseServiceImpl.kt +++ b/data/src/main/java/tachiyomi/data/release/ReleaseServiceImpl.kt @@ -27,7 +27,7 @@ class ReleaseServiceImpl( return Release( version = release.version, - info = release.info.replace(gitHubUsernameMentionRegex) { mention -> + info = release.info.substringBeforeLast("").replace(gitHubUsernameMentionRegex) { mention -> "[${mention.value}](https://github.com/${mention.value.substring(1)})" }, releaseLink = release.releaseLink, @@ -50,7 +50,7 @@ class ReleaseServiceImpl( info = release.info.replace(gitHubUsernameMentionRegex) { mention -> "[${mention.value}](https://github.com/${mention.value.substring(1)})" } - .replace(checksumRegex, "") + .substringBeforeLast("") // KMK --> .replace(getHubDownloadBadgeRegex, "") .replace(gitHubCommitsCompareRegex) { matchResult -> @@ -104,8 +104,6 @@ class ReleaseServiceImpl( private val gitHubUsernameMentionRegex = """\B@([a-z0-9](?:-(?=[a-z0-9])|[a-z0-9]){0,38}(?<=[a-z0-9]))""" .toRegex(RegexOption.IGNORE_CASE) - private val checksumRegex = """---(\R|.)*Checksums(\R|.)*""".toRegex() - // KMK --> private val getHubDownloadBadgeRegex = """\[!\[GitHub downloads]\(.*\)]\(.*\)""" .toRegex(RegexOption.IGNORE_CASE) 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 602f0852e..7bf8753a5 100644 --- a/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt +++ b/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt @@ -60,14 +60,8 @@ class GetApplicationRelease( val releases = service.releaseNotes(arguments) .filter { !it.preRelease } - val release = releases.firstOrNull() - ?.copy( - info = releases.joinToString("\r---\r") { - "## ${it.version}\r\r${it.info}" - }, - ) - if (release == null) return Result.NoNewUpdate - return Result.NewUpdate(release) + val latest = releases.getLatest() ?: return Result.NoNewUpdate + return Result.NewUpdate(latest) } // KMK <-- @@ -134,13 +128,11 @@ class GetApplicationRelease( // KMK --. internal fun List.getLatest(): Release? { - val checksumRegex = """---(\R|.)*Checksums(\R|.)*""".toRegex() - return firstOrNull() ?.copy( - info = joinToString("\r---\r") { + info = joinToString("\r-----\r") { "## ${it.version}\r\r" + - it.info.replace(checksumRegex, "") + it.info }, ) }