From 4b6dcb1cc4932f20c3ae649d74b93881ea984b66 Mon Sep 17 00:00:00 2001
From: RudraYBedekar
Date: Tue, 7 Apr 2026 16:09:02 -0400
Subject: [PATCH 1/2] Refactored code, updated dependencies, and removed
deprecated usage
---
README.md | 28 +++++++++----------
.../githubstore/convention/KotlinAndroid.kt | 4 ---
composeApp/build.gradle.kts | 15 +++-------
core/presentation/build.gradle.kts | 2 +-
.../components/ScrollbarContainer.jvm.kt | 2 ++
feature/apps/presentation/build.gradle.kts | 2 +-
.../zed/rainxch/apps/presentation/AppsRoot.kt | 6 ++--
feature/auth/presentation/build.gradle.kts | 2 +-
feature/details/presentation/build.gradle.kts | 2 +-
.../presentation/components/AppHeader.kt | 2 --
.../components/SmartInstallButton.kt | 1 -
.../dev-profile/presentation/build.gradle.kts | 2 +-
.../favourites/presentation/build.gradle.kts | 2 +-
feature/home/presentation/build.gradle.kts | 2 +-
feature/profile/presentation/build.gradle.kts | 2 +-
.../presentation/build.gradle.kts | 2 +-
feature/search/presentation/build.gradle.kts | 2 +-
feature/starred/presentation/build.gradle.kts | 2 +-
feature/tweaks/presentation/build.gradle.kts | 2 +-
.../tweaks/presentation/TweaksViewModel.kt | 1 -
gradle/libs.versions.toml | 1 +
21 files changed, 35 insertions(+), 49 deletions(-)
diff --git a/README.md b/README.md
index f403584f6..acba0b388 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
@@ -10,7 +10,7 @@
-
+
@@ -18,8 +18,8 @@
-
-
+
+
@@ -29,8 +29,8 @@
-
-
+
+
@@ -40,8 +40,8 @@
-
-
+
+
@@ -52,8 +52,6 @@
-
-
# 🗺️ Project Overview
@@ -160,9 +158,9 @@ GitHub® is a registered trademark of GitHub, Inc.
-
+
HowToMen: Top 20 Best Android Apps 2026 |
Top 12 App Stores that are Better than Google Play Store
-
+
HelloGitHub: Featured Project
@@ -339,7 +337,7 @@ Sync the project and run the app. You should now be able to sign in with GitHub.
## ☕ Support the project
-GitHub Store is built and maintained by high school student. Your support helps him:
+GitHub Store is built and maintained by a high school student. Your support helps him:
✅ **Keep the app bug-free** — respond to issues and ship fixes quickly
✅ **Add community-requested features** — implement what users actually need
@@ -371,7 +369,7 @@ GitHub by third‑party developers.
The contents, safety, and behavior of those downloads are entirely the responsibility of their
respective authors and distributors, not this project.
-By using GithubStore, you understand and agree that you install and run any downloaded software at
+By using GitHub Store, you understand and agree that you install and run any downloaded software at
your own risk.
This project does not review, validate, or guarantee that any installer is safe, free of malware, or
fit for any particular purpose.
@@ -392,7 +390,7 @@ fit for any particular purpose.
## 📄 License
-GitHub Store will be released under the **Apache License, Version 2.0**.
+GitHub Store is released under the **Apache License, Version 2.0**.
```
Copyright 2025 rainxchzed
diff --git a/build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/KotlinAndroid.kt b/build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/KotlinAndroid.kt
index c2d886d58..4f77849e2 100644
--- a/build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/KotlinAndroid.kt
+++ b/build-logic/convention/src/main/kotlin/zed/rainxch/githubstore/convention/KotlinAndroid.kt
@@ -44,10 +44,6 @@ internal fun Project.configureKotlin() {
tasks.withType
().configureEach {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
-
- freeCompilerArgs.add(
- "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
- )
}
}
}
diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts
index a86d128b2..9b229e40a 100644
--- a/composeApp/build.gradle.kts
+++ b/composeApp/build.gradle.kts
@@ -75,11 +75,11 @@ kotlin {
implementation(libs.touchlab.kermit)
implementation(libs.kotlinx.collections.immutable)
- implementation(compose.runtime)
- implementation(compose.foundation)
+ implementation(libs.jetbrains.compose.runtime)
+ implementation(libs.jetbrains.compose.foundation)
implementation(libs.jetbrains.compose.material3)
- implementation(compose.ui)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.ui)
+ implementation(libs.jetbrains.compose.components.resources)
implementation(libs.androidx.compose.ui.tooling.preview)
implementation(libs.jetbrains.compose.viewmodel)
@@ -96,13 +96,6 @@ kotlin {
implementation(libs.koin.compose.viewmodel)
implementation(libs.koin.compose.viewmodel)
- implementation(compose.desktop.linux_x64)
- implementation(compose.desktop.linux_arm64)
- implementation(compose.desktop.macos_x64)
- implementation(compose.desktop.macos_arm64)
- implementation(compose.desktop.windows_x64)
- implementation(compose.desktop.windows_arm64)
-
implementation(libs.slf4j.simple)
}
}
diff --git a/core/presentation/build.gradle.kts b/core/presentation/build.gradle.kts
index f0c149f0f..479d4a297 100644
--- a/core/presentation/build.gradle.kts
+++ b/core/presentation/build.gradle.kts
@@ -17,7 +17,7 @@ kotlin {
implementation(libs.kotlinx.datetime)
implementation(libs.kotlinx.collections.immutable)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
implementation(libs.androidx.compose.ui.tooling.preview)
}
diff --git a/core/presentation/src/jvmMain/kotlin/zed/rainxch/core/presentation/components/ScrollbarContainer.jvm.kt b/core/presentation/src/jvmMain/kotlin/zed/rainxch/core/presentation/components/ScrollbarContainer.jvm.kt
index 1fb43cc16..67e24696e 100644
--- a/core/presentation/src/jvmMain/kotlin/zed/rainxch/core/presentation/components/ScrollbarContainer.jvm.kt
+++ b/core/presentation/src/jvmMain/kotlin/zed/rainxch/core/presentation/components/ScrollbarContainer.jvm.kt
@@ -1,3 +1,5 @@
+@file:Suppress("DEPRECATION")
+
package zed.rainxch.core.presentation.components
import androidx.compose.foundation.LocalScrollbarStyle
diff --git a/feature/apps/presentation/build.gradle.kts b/feature/apps/presentation/build.gradle.kts
index 94e5dfe34..3e0216085 100644
--- a/feature/apps/presentation/build.gradle.kts
+++ b/feature/apps/presentation/build.gradle.kts
@@ -13,7 +13,7 @@ kotlin {
implementation(projects.feature.apps.domain)
implementation(libs.androidx.compose.ui.tooling.preview)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
implementation(libs.bundles.landscapist)
implementation(libs.liquid)
diff --git a/feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt b/feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt
index d013ceb15..670b264fd 100644
--- a/feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt
+++ b/feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt
@@ -22,13 +22,13 @@ import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.OpenInNew
+import androidx.compose.material.icons.automirrored.filled.Sort
import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.filled.Cancel
import androidx.compose.material.icons.filled.CheckCircle
import androidx.compose.material.icons.filled.Close
import androidx.compose.material.icons.filled.Refresh
import androidx.compose.material.icons.filled.Search
-import androidx.compose.material.icons.filled.Sort
import androidx.compose.material.icons.filled.Update
import androidx.compose.material.icons.outlined.DeleteOutline
import androidx.compose.material.icons.outlined.FileDownload
@@ -77,10 +77,10 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.skydoves.landscapist.coil3.CoilImage
import io.github.fletchmckee.liquid.liquefiable
-import kotlinx.datetime.Instant
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toLocalDateTime
import kotlinx.coroutines.launch
+import kotlin.time.Instant
import org.jetbrains.compose.resources.stringResource
import org.koin.compose.viewmodel.koinViewModel
import zed.rainxch.apps.presentation.components.InstalledAppIcon
@@ -209,7 +209,7 @@ fun AppsScreen(
Box {
IconButton(onClick = { showSortMenu = true }) {
Icon(
- imageVector = Icons.Default.Sort,
+ imageVector = Icons.AutoMirrored.Filled.Sort,
contentDescription = stringResource(Res.string.sort_apps),
)
}
diff --git a/feature/auth/presentation/build.gradle.kts b/feature/auth/presentation/build.gradle.kts
index db353fdb8..5db6ce74b 100644
--- a/feature/auth/presentation/build.gradle.kts
+++ b/feature/auth/presentation/build.gradle.kts
@@ -13,7 +13,7 @@ kotlin {
implementation(projects.feature.auth.domain)
implementation(libs.androidx.compose.ui.tooling.preview)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
}
}
diff --git a/feature/details/presentation/build.gradle.kts b/feature/details/presentation/build.gradle.kts
index 9bc37297c..efb110c80 100644
--- a/feature/details/presentation/build.gradle.kts
+++ b/feature/details/presentation/build.gradle.kts
@@ -15,7 +15,7 @@ kotlin {
implementation(libs.markdown.renderer)
implementation(libs.markdown.renderer.coil3)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
implementation(libs.liquid)
implementation(libs.kotlinx.datetime)
diff --git a/feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/AppHeader.kt b/feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/AppHeader.kt
index 4e5426c25..0d3875f36 100644
--- a/feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/AppHeader.kt
+++ b/feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/AppHeader.kt
@@ -143,8 +143,6 @@ fun AppHeader(
strokeCap = StrokeCap.Round,
)
}
-
- else -> {}
}
}
}
diff --git a/feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/SmartInstallButton.kt b/feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/SmartInstallButton.kt
index c44103896..5dbe9a7f5 100644
--- a/feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/SmartInstallButton.kt
+++ b/feature/details/presentation/src/commonMain/kotlin/zed/rainxch/details/presentation/components/SmartInstallButton.kt
@@ -94,7 +94,6 @@ fun SmartInstallButton(
val isSameVersionInstalled =
isInstalled &&
- installedApp != null &&
normalizeVersion(installedApp.installedVersion) ==
normalizeVersion(
state.selectedRelease?.tagName ?: "",
diff --git a/feature/dev-profile/presentation/build.gradle.kts b/feature/dev-profile/presentation/build.gradle.kts
index 8e0c2d58e..8eb6e5587 100644
--- a/feature/dev-profile/presentation/build.gradle.kts
+++ b/feature/dev-profile/presentation/build.gradle.kts
@@ -13,7 +13,7 @@ kotlin {
implementation(projects.feature.devProfile.domain)
implementation(libs.androidx.compose.ui.tooling.preview)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
implementation(libs.bundles.landscapist)
implementation(libs.kotlinx.collections.immutable)
diff --git a/feature/favourites/presentation/build.gradle.kts b/feature/favourites/presentation/build.gradle.kts
index 41da218dd..81e42dba3 100644
--- a/feature/favourites/presentation/build.gradle.kts
+++ b/feature/favourites/presentation/build.gradle.kts
@@ -16,7 +16,7 @@ kotlin {
implementation(libs.kotlinx.collections.immutable)
implementation(libs.androidx.compose.ui.tooling.preview)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
}
}
diff --git a/feature/home/presentation/build.gradle.kts b/feature/home/presentation/build.gradle.kts
index f8641d176..2086cdadd 100644
--- a/feature/home/presentation/build.gradle.kts
+++ b/feature/home/presentation/build.gradle.kts
@@ -15,7 +15,7 @@ kotlin {
implementation(libs.liquid)
implementation(libs.kotlinx.collections.immutable)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
implementation(libs.androidx.compose.ui.tooling.preview)
}
diff --git a/feature/profile/presentation/build.gradle.kts b/feature/profile/presentation/build.gradle.kts
index f2e2d4756..f234c33a8 100644
--- a/feature/profile/presentation/build.gradle.kts
+++ b/feature/profile/presentation/build.gradle.kts
@@ -13,7 +13,7 @@ kotlin {
implementation(projects.feature.profile.domain)
implementation(libs.androidx.compose.ui.tooling.preview)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
implementation(libs.liquid)
}
diff --git a/feature/recently-viewed/presentation/build.gradle.kts b/feature/recently-viewed/presentation/build.gradle.kts
index ac242bd1d..614614048 100644
--- a/feature/recently-viewed/presentation/build.gradle.kts
+++ b/feature/recently-viewed/presentation/build.gradle.kts
@@ -15,7 +15,7 @@ kotlin {
implementation(libs.kotlinx.collections.immutable)
implementation(libs.androidx.compose.ui.tooling.preview)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
}
}
diff --git a/feature/search/presentation/build.gradle.kts b/feature/search/presentation/build.gradle.kts
index ccb6488ef..0e79e9ebe 100644
--- a/feature/search/presentation/build.gradle.kts
+++ b/feature/search/presentation/build.gradle.kts
@@ -15,7 +15,7 @@ kotlin {
implementation(libs.liquid)
implementation(libs.androidx.compose.ui.tooling.preview)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
implementation(libs.kotlinx.collections.immutable)
}
diff --git a/feature/starred/presentation/build.gradle.kts b/feature/starred/presentation/build.gradle.kts
index a667d9277..b0533fa48 100644
--- a/feature/starred/presentation/build.gradle.kts
+++ b/feature/starred/presentation/build.gradle.kts
@@ -17,7 +17,7 @@ kotlin {
implementation(libs.kotlinx.collections.immutable)
implementation(libs.androidx.compose.ui.tooling.preview)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
}
}
diff --git a/feature/tweaks/presentation/build.gradle.kts b/feature/tweaks/presentation/build.gradle.kts
index f2e2d4756..f234c33a8 100644
--- a/feature/tweaks/presentation/build.gradle.kts
+++ b/feature/tweaks/presentation/build.gradle.kts
@@ -13,7 +13,7 @@ kotlin {
implementation(projects.feature.profile.domain)
implementation(libs.androidx.compose.ui.tooling.preview)
- implementation(compose.components.resources)
+ implementation(libs.jetbrains.compose.components.resources)
implementation(libs.liquid)
}
diff --git a/feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksViewModel.kt b/feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksViewModel.kt
index 3c561e909..de26ebf77 100644
--- a/feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksViewModel.kt
+++ b/feature/tweaks/presentation/src/commonMain/kotlin/zed/rainxch/tweaks/presentation/TweaksViewModel.kt
@@ -313,7 +313,6 @@ class TweaksViewModel(
when (action.type) {
ProxyType.NONE -> ProxyConfig.None
ProxyType.SYSTEM -> ProxyConfig.System
- else -> return
}
viewModelScope.launch {
runCatching {
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index f2af56d3f..7bc22e7f0 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -138,6 +138,7 @@ jetbrains-compose-material-icons-core = { module = "org.jetbrains.compose.materi
jetbrains-compose-material-icons-extended = { module = "org.jetbrains.compose.material:material-icons-extended", version.ref = "material-icons" }
jetbrains-compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "compose-jetbrains" }
jetbrains-compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose-jetbrains" }
+jetbrains-compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "compose-jetbrains" }
jetbrains-lifecycle-viewmodel = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel", version.ref = "compose-lifecycle" }
jetbrains-lifecycle-compose = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "compose-lifecycle" }
From 7ca103e072759910506823bbf543abaf620adcc3 Mon Sep 17 00:00:00 2001
From: RudraYBedekar
Date: Tue, 7 Apr 2026 16:26:25 -0400
Subject: [PATCH 2/2] Refactored code, updated dependencies, and removed
deprecated usage
---
.../kotlin/zed/rainxch/apps/presentation/AppsRoot.kt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt b/feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt
index 670b264fd..5d603d7ad 100644
--- a/feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt
+++ b/feature/apps/presentation/src/commonMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt
@@ -1,4 +1,4 @@
-@file:OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class)
+@file:OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class, ExperimentalTime::class)
package zed.rainxch.apps.presentation
@@ -80,6 +80,7 @@ import io.github.fletchmckee.liquid.liquefiable
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toLocalDateTime
import kotlinx.coroutines.launch
+import kotlin.time.ExperimentalTime
import kotlin.time.Instant
import org.jetbrains.compose.resources.stringResource
import org.koin.compose.viewmodel.koinViewModel