From 982554a53c270579aa8c932e56effadb7e42db0f Mon Sep 17 00:00:00 2001 From: Ricky Hu Date: Mon, 9 Feb 2026 15:53:16 +0800 Subject: [PATCH 01/10] =?UTF-8?q?chore:=20=F0=9F=A4=96=20upgrade=20package?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 74f342e6..215d57e7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -23,7 +23,7 @@ kotlinx-coroutines = "1.10.2" kotlinx-datetime = "0.7.1" kotlinx-serialization = "1.10.0" ksp = "2.3.4" -material-kolor = "4.1.0" +material-kolor = "4.1.1" multiplatform-settings = "1.3.0" navigation-compose = "2.9.1" room = "2.8.4" From b177c90605fadd4bdb776b2e38b0c51274fe04b7 Mon Sep 17 00:00:00 2001 From: Ricky Hu Date: Mon, 9 Feb 2026 15:53:44 +0800 Subject: [PATCH 02/10] =?UTF-8?q?chore:=20=F0=9F=A4=96=20bump=20version=20?= =?UTF-8?q?to=201.2.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/rickyhu/hushtimer/core/domain/AppVersionImpl.jvm.kt | 4 ++-- gradle.properties | 4 ++-- iosApp/Versions.xcconfig | 4 ++-- iosApp/iosApp.xcodeproj/project.pbxproj | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/composeApp/src/jvmMain/kotlin/com/rickyhu/hushtimer/core/domain/AppVersionImpl.jvm.kt b/composeApp/src/jvmMain/kotlin/com/rickyhu/hushtimer/core/domain/AppVersionImpl.jvm.kt index 014566c8..564176f2 100644 --- a/composeApp/src/jvmMain/kotlin/com/rickyhu/hushtimer/core/domain/AppVersionImpl.jvm.kt +++ b/composeApp/src/jvmMain/kotlin/com/rickyhu/hushtimer/core/domain/AppVersionImpl.jvm.kt @@ -3,9 +3,9 @@ package com.rickyhu.hushtimer.core.domain import io.github.z4kn4fein.semver.Version class AppVersionImpl : AppVersion { - override fun getVersionName(): Version? { + override fun getVersionName(): Version { // NOTE: Update this when changing packageVersion in build.gradle.kts desktop configuration - return Version(1, 0, 4) + return Version(1, 2, 0) } override fun getVersionCode(): Int { diff --git a/gradle.properties b/gradle.properties index ad5d594d..dde69c06 100644 --- a/gradle.properties +++ b/gradle.properties @@ -31,8 +31,8 @@ android.generateSyncIssueWhenLibraryConstraintsAreEnabled=false org.jetbrains.compose.experimental.jscanvas.enabled=true #Release Version -appVersionName=1.1.0 -appBuildNumber=5 +appVersionName=1.2.0 +appBuildNumber=6 kotlin.mpp.enableCInteropCommonization.nowarn=true kotlin.mpp.enableCInteropCommonization=true diff --git a/iosApp/Versions.xcconfig b/iosApp/Versions.xcconfig index fca25ec4..5d7903e9 100644 --- a/iosApp/Versions.xcconfig +++ b/iosApp/Versions.xcconfig @@ -1,3 +1,3 @@ // GENERATED FILE - DO NOT EDIT -MARKETING_VERSION = 1.1.0 -CURRENT_PROJECT_VERSION = 5 +MARKETING_VERSION = 1.2.0 +CURRENT_PROJECT_VERSION = 6 diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj index 3084f9fe..bbf807c3 100644 --- a/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/iosApp/iosApp.xcodeproj/project.pbxproj @@ -392,7 +392,7 @@ CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; - DEVELOPMENT_TEAM = 6838583E88; + DEVELOPMENT_TEAM = HH9DC28532; DRIVERKIT_DEPLOYMENT_TARGET = 25.0; ENABLE_PREVIEWS = YES; FRAMEWORK_SEARCH_PATHS = ""; @@ -443,7 +443,7 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++23"; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; - DEVELOPMENT_TEAM = 6838583E88; + DEVELOPMENT_TEAM = HH9DC28532; DRIVERKIT_DEPLOYMENT_TARGET = 25.0; ENABLE_PREVIEWS = YES; FRAMEWORK_SEARCH_PATHS = ""; From 4b4e46a2756b38385755c08c67f6f41de0fbf263 Mon Sep 17 00:00:00 2001 From: Ricky Hu Date: Mon, 9 Feb 2026 15:53:57 +0800 Subject: [PATCH 03/10] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20add=201.2.0=20chan?= =?UTF-8?q?gelog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rickyhu/hushtimer/core/domain/ChangelogData.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/composeApp/src/commonMain/kotlin/com/rickyhu/hushtimer/core/domain/ChangelogData.kt b/composeApp/src/commonMain/kotlin/com/rickyhu/hushtimer/core/domain/ChangelogData.kt index 62762f1f..3a2292d2 100644 --- a/composeApp/src/commonMain/kotlin/com/rickyhu/hushtimer/core/domain/ChangelogData.kt +++ b/composeApp/src/commonMain/kotlin/com/rickyhu/hushtimer/core/domain/ChangelogData.kt @@ -10,6 +10,17 @@ data class VersionChangelog( object ChangelogData { private val changelogs = listOf( + VersionChangelog( + version = Version(1, 2, 0), + changes = + listOf( + "Improve scramble generation speed", + "UI improvement for scramble preview", + "Keep screen awake during timer runs", + "Check for updates automatically and notifies users of new versions", + "Add Libraries screen in Settings page to show open-source libraries", + ), + ), VersionChangelog( version = Version(1, 1, 0), changes = From 2d32987967e31275ab28112d079a84beac99c62e Mon Sep 17 00:00:00 2001 From: Ricky Hu Date: Mon, 9 Feb 2026 16:03:52 +0800 Subject: [PATCH 04/10] fix: fix grammar Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../kotlin/com/rickyhu/hushtimer/core/domain/ChangelogData.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composeApp/src/commonMain/kotlin/com/rickyhu/hushtimer/core/domain/ChangelogData.kt b/composeApp/src/commonMain/kotlin/com/rickyhu/hushtimer/core/domain/ChangelogData.kt index 3a2292d2..1cfc9fb8 100644 --- a/composeApp/src/commonMain/kotlin/com/rickyhu/hushtimer/core/domain/ChangelogData.kt +++ b/composeApp/src/commonMain/kotlin/com/rickyhu/hushtimer/core/domain/ChangelogData.kt @@ -17,7 +17,7 @@ object ChangelogData { "Improve scramble generation speed", "UI improvement for scramble preview", "Keep screen awake during timer runs", - "Check for updates automatically and notifies users of new versions", + "Check for updates automatically and notify users of new versions", "Add Libraries screen in Settings page to show open-source libraries", ), ), From d824c8ecdee663c8d89ead71856d542faae7bb40 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Feb 2026 01:05:46 +0000 Subject: [PATCH 05/10] Initial plan From 1f6297f6617da965afc264db3bf7b6ec116be1e2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Feb 2026 01:07:36 +0000 Subject: [PATCH 06/10] =?UTF-8?q?chore:=20=F0=9F=A4=96=20update=20desktop?= =?UTF-8?q?=20package=20version=20and=20version=20code=20to=201.2.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: ricky9667 <55730003+ricky9667@users.noreply.github.com> --- composeApp/build.gradle.kts | 2 +- .../com/rickyhu/hushtimer/core/domain/AppVersionImpl.jvm.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 90c3d0e1..f6dc8219 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -189,7 +189,7 @@ compose.desktop { nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) packageName = "Hush Timer" - packageVersion = "1.0.3" + packageVersion = "1.2.0" linux { iconFile.set(project.file("desktopAppIcons/LinuxIcon.png")) diff --git a/composeApp/src/jvmMain/kotlin/com/rickyhu/hushtimer/core/domain/AppVersionImpl.jvm.kt b/composeApp/src/jvmMain/kotlin/com/rickyhu/hushtimer/core/domain/AppVersionImpl.jvm.kt index 564176f2..52ba5d22 100644 --- a/composeApp/src/jvmMain/kotlin/com/rickyhu/hushtimer/core/domain/AppVersionImpl.jvm.kt +++ b/composeApp/src/jvmMain/kotlin/com/rickyhu/hushtimer/core/domain/AppVersionImpl.jvm.kt @@ -10,6 +10,6 @@ class AppVersionImpl : AppVersion { override fun getVersionCode(): Int { // NOTE: Update this when changing versionCode in build.gradle.kts android configuration - return 5 + return 6 } } From 83f09be24443d66d54042521d7397def510d61c9 Mon Sep 17 00:00:00 2001 From: Ricky Hu Date: Sun, 15 Feb 2026 14:16:16 +0800 Subject: [PATCH 07/10] =?UTF-8?q?fix:=20=F0=9F=90=9B=20add=20buildkonfig.f?= =?UTF-8?q?lavor=20to=20switch=20build=20types?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 5 ++++- iosApp/Versions.xcconfig | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index dde69c06..c3732c9c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -32,7 +32,10 @@ org.jetbrains.compose.experimental.jscanvas.enabled=true #Release Version appVersionName=1.2.0 -appBuildNumber=6 +appBuildNumber=7 + +#Build Flavor (only change to release when you want to publish a release build) +buildkonfig.flavor=debug kotlin.mpp.enableCInteropCommonization.nowarn=true kotlin.mpp.enableCInteropCommonization=true diff --git a/iosApp/Versions.xcconfig b/iosApp/Versions.xcconfig index 5d7903e9..27ec39a0 100644 --- a/iosApp/Versions.xcconfig +++ b/iosApp/Versions.xcconfig @@ -1,3 +1,3 @@ // GENERATED FILE - DO NOT EDIT MARKETING_VERSION = 1.2.0 -CURRENT_PROJECT_VERSION = 6 +CURRENT_PROJECT_VERSION = 7 From a8730020451e8e156534ac509b1b17eaf1fe772e Mon Sep 17 00:00:00 2001 From: Ricky Hu Date: Tue, 17 Feb 2026 14:17:57 +0800 Subject: [PATCH 08/10] =?UTF-8?q?chore:=20=F0=9F=A4=96=20update=20iOS=20pr?= =?UTF-8?q?oject=20for=20building=20product=20archive?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iosApp/iosApp.xcodeproj/project.pbxproj | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj index bbf807c3..469b72bb 100644 --- a/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/iosApp/iosApp.xcodeproj/project.pbxproj @@ -46,10 +46,10 @@ A93A953429CC810C00F8E227 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; files = ( + E18A4C532F23149800FA27BC /* TNoodle.xcframework in Frameworks */, A2E8B6372EB354980091921A /* FirebaseAnalytics in Frameworks */, A2E8B63D2EB354980091921A /* FirebaseCrashlytics in Frameworks */, A2E8B63B2EB354980091921A /* FirebaseCore in Frameworks */, - E18A4C532F23149800FA27BC /* TNoodle.xcframework in Frameworks */, A2E8B6392EB354980091921A /* FirebaseAnalyticsCore in Frameworks */, ); }; @@ -389,10 +389,12 @@ CFBundleShortVersionString = "$(MARKETING_VERSION)"; CFBundleVersion = "$(CURRENT_PROJECT_VERSION)"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++23"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; - DEVELOPMENT_TEAM = HH9DC28532; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8DPH862SRB; DRIVERKIT_DEPLOYMENT_TARGET = 25.0; ENABLE_PREVIEWS = YES; FRAMEWORK_SEARCH_PATHS = ""; @@ -417,8 +419,10 @@ "-framework", Security, ); - PRODUCT_BUNDLE_IDENTIFIER = com.rickyhu.hushtimer.iosApp; + PRODUCT_BUNDLE_IDENTIFIER = com.rickyhu.hushtimer; PRODUCT_NAME = "Hush Timer"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = HUSH_Timer_AppStore_Profile; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_INTEROP_MODE = objcxx; SWIFT_STRICT_MEMORY_SAFETY = YES; @@ -441,9 +445,11 @@ CFBundleShortVersionString = "$(MARKETING_VERSION)"; CFBundleVersion = "$(CURRENT_PROJECT_VERSION)"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++23"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; - DEVELOPMENT_TEAM = HH9DC28532; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8DPH862SRB; DRIVERKIT_DEPLOYMENT_TARGET = 25.0; ENABLE_PREVIEWS = YES; FRAMEWORK_SEARCH_PATHS = ""; @@ -468,8 +474,10 @@ "-framework", Security, ); - PRODUCT_BUNDLE_IDENTIFIER = com.rickyhu.hushtimer.iosApp; + PRODUCT_BUNDLE_IDENTIFIER = com.rickyhu.hushtimer; PRODUCT_NAME = "Hush Timer"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = HUSH_Timer_AppStore_Profile; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OBJC_INTEROP_MODE = objcxx; SWIFT_STRICT_MEMORY_SAFETY = YES; From 47b64153bbd229d7a78a125737a53a6b841e1a7d Mon Sep 17 00:00:00 2001 From: Ricky Hu Date: Wed, 18 Feb 2026 15:04:24 +0800 Subject: [PATCH 09/10] =?UTF-8?q?fix:=20=F0=9F=90=9B=20remove=20build=20ph?= =?UTF-8?q?ase=20to=20pass=20ipa=20upload?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iosApp/iosApp.xcodeproj/project.pbxproj | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj index 469b72bb..99a19d03 100644 --- a/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/iosApp/iosApp.xcodeproj/project.pbxproj @@ -16,21 +16,8 @@ A93A953F29CC810D00F8E227 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A93A953E29CC810D00F8E227 /* Assets.xcassets */; }; A93A954229CC810D00F8E227 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A93A954129CC810D00F8E227 /* Preview Assets.xcassets */; }; E18A4C532F23149800FA27BC /* TNoodle.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = E18A4C512F23149200FA27BC /* TNoodle.xcframework */; }; - E18A4C542F23149800FA27BC /* TNoodle.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E18A4C512F23149200FA27BC /* TNoodle.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ -/* Begin PBXCopyFilesBuildPhase section */ - E18BD1AF2F116BC800244547 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - dstPath = ""; - dstSubfolder = Frameworks; - files = ( - E18A4C542F23149800FA27BC /* TNoodle.xcframework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ A2E8B6332EB353420091921A /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; A93A953729CC810C00F8E227 /* Hush Timer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Hush Timer.app"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -115,7 +102,6 @@ A93A953529CC810C00F8E227 /* Resources */, D8F134DBF3B24C6E9849CF36 /* Sync Version Info */, A2E8B63E2EB3581E0091921A /* Run Script */, - E18BD1AF2F116BC800244547 /* Embed Frameworks */, ); buildRules = ( ); From 1211c7b7d2e34478512a98fcbf01baed163ed1ac Mon Sep 17 00:00:00 2001 From: Ricky Hu Date: Tue, 24 Feb 2026 00:35:25 +0800 Subject: [PATCH 10/10] =?UTF-8?q?fix:=20=F0=9F=90=9B=20modify=20isReleaseB?= =?UTF-8?q?uild=20calculation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composeApp/build.gradle.kts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index f6dc8219..9870e198 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -217,7 +217,8 @@ if (localPropertiesFile.exists()) { } } -val isReleaseBuild = project.hasProperty("mode") && project.property("mode") == "release" +val flavor = project.findProperty("buildkonfig.flavor")?.toString() +val isReleaseBuild = flavor == "release" || (project.hasProperty("mode") && project.property("mode") == "release") fun getSecret( key: String,