From 4da9e0dda861e825845cf99ee30d65158e428391 Mon Sep 17 00:00:00 2001 From: rainxchzed Date: Thu, 7 May 2026 17:09:16 +0500 Subject: [PATCH 1/2] fix(apps): re-sync installed apps on activity onRestart to clear ghost rows --- .../kotlin/zed/rainxch/githubstore/MainActivity.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/composeApp/src/androidMain/kotlin/zed/rainxch/githubstore/MainActivity.kt b/composeApp/src/androidMain/kotlin/zed/rainxch/githubstore/MainActivity.kt index 304a36753..4d9488722 100644 --- a/composeApp/src/androidMain/kotlin/zed/rainxch/githubstore/MainActivity.kt +++ b/composeApp/src/androidMain/kotlin/zed/rainxch/githubstore/MainActivity.kt @@ -16,6 +16,8 @@ import androidx.core.util.Consumer import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle +import co.touchlab.kermit.Logger +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.drop import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch @@ -25,6 +27,7 @@ import org.koin.android.ext.android.inject import zed.rainxch.core.data.services.LocalizationManager import zed.rainxch.core.data.utils.AndroidShareManager import zed.rainxch.core.domain.repository.TweaksRepository +import zed.rainxch.core.domain.use_cases.SyncInstalledAppsUseCase import zed.rainxch.core.domain.utils.ShareManager import zed.rainxch.githubstore.app.deeplink.DeepLinkParser @@ -35,6 +38,8 @@ class MainActivity : ComponentActivity() { private val shareManager: ShareManager by inject() private val tweaksRepository: TweaksRepository by inject() private val localizationManager: LocalizationManager by inject() + private val syncInstalledAppsUseCase: SyncInstalledAppsUseCase by inject() + private val appScope: CoroutineScope by inject() override fun onCreate(savedInstanceState: Bundle?) { installSplashScreen() @@ -102,6 +107,14 @@ class MainActivity : ComponentActivity() { } } + override fun onRestart() { + super.onRestart() + appScope.launch { + runCatching { syncInstalledAppsUseCase() } + .onFailure { Logger.w(it) { "onRestart sync failed" } } + } + } + private fun handleIncomingIntent(intent: Intent?) { if (intent == null) return From fa7b9f0c6a79d8a6cf3a74cc1b3f0b4904e8421b Mon Sep 17 00:00:00 2001 From: rainxchzed Date: Thu, 7 May 2026 17:09:23 +0500 Subject: [PATCH 2/2] chore(whatsnew): note ghost-install fix in 1.9.0 across 13 locales --- .../src/commonMain/composeResources/files/whatsnew/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/ar/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/bn/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/es/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/fr/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/hi/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/it/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/ja/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/ko/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/pl/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/ru/17.json | 6 ++++++ .../commonMain/composeResources/files/whatsnew/tr/17.json | 6 ++++++ .../composeResources/files/whatsnew/zh-CN/17.json | 6 ++++++ 13 files changed, 78 insertions(+) diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/17.json index 580824893..f2037e8c1 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/17.json @@ -9,6 +9,12 @@ "bullets": [ "Ignore updates per app — silence the update badge for any app you don't want to update." ] + }, + { + "type": "FIXED", + "bullets": [ + "Uninstalled apps now disappear from the tracked list right away, even when removed from system Settings." + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/ar/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/ar/17.json index 7c66ebe50..2824d40ce 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/ar/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/ar/17.json @@ -9,6 +9,12 @@ "bullets": [ "تجاهل التحديثات لكل تطبيق — أوقف تنبيه التحديث لأي تطبيق لا ترغب في تحديثه." ] + }, + { + "type": "FIXED", + "bullets": [ + "التطبيقات التي تم إلغاء تثبيتها — حتى من إعدادات النظام — تختفي الآن فوراً من قائمة التطبيقات المتتبَّعة." + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/bn/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/bn/17.json index 379abfbc8..d418262cf 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/bn/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/bn/17.json @@ -9,6 +9,12 @@ "bullets": [ "প্রতিটি অ্যাপের আপডেট উপেক্ষা করুন — যে অ্যাপটি আপডেট করতে চান না, তার আপডেট ব্যাজ বন্ধ করে দিন।" ] + }, + { + "type": "FIXED", + "bullets": [ + "সিস্টেম সেটিংস থেকে আনইনস্টল করা অ্যাপগুলো এখন ট্র্যাক করা তালিকা থেকে তাৎক্ষণিকভাবে সরে যায়।" + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/es/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/es/17.json index 29f0b007c..485bd7be9 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/es/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/es/17.json @@ -9,6 +9,12 @@ "bullets": [ "Ignorar actualizaciones por app — silencia la insignia de actualización en cualquier app que no quieras actualizar." ] + }, + { + "type": "FIXED", + "bullets": [ + "Las apps desinstaladas desde Ajustes del sistema ahora desaparecen al instante de la lista de seguimiento." + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/fr/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/fr/17.json index aeccdf039..96a9dde30 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/fr/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/fr/17.json @@ -9,6 +9,12 @@ "bullets": [ "Ignorer les mises à jour par appli — masque la pastille de mise à jour pour les applis que tu ne veux pas mettre à jour." ] + }, + { + "type": "FIXED", + "bullets": [ + "Les applis désinstallées depuis les Paramètres système disparaissent maintenant immédiatement de la liste suivie." + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/hi/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/hi/17.json index d9765fc48..6771ca029 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/hi/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/hi/17.json @@ -9,6 +9,12 @@ "bullets": [ "हर ऐप के अपडेट अनदेखा करें — जिस ऐप को अपडेट नहीं करना चाहते, उसका अपडेट बैज छिपा दें।" ] + }, + { + "type": "FIXED", + "bullets": [ + "सिस्टम सेटिंग्स से अनइंस्टॉल किए गए ऐप अब ट्रैक की गई सूची से तुरंत हट जाते हैं।" + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/it/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/it/17.json index 971887d81..75a8c60ea 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/it/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/it/17.json @@ -9,6 +9,12 @@ "bullets": [ "Ignora aggiornamenti per app — silenzia la notifica di aggiornamento per le app che non vuoi aggiornare." ] + }, + { + "type": "FIXED", + "bullets": [ + "Le app disinstallate dalle Impostazioni di sistema spariscono ora subito dalla lista delle app tracciate." + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/ja/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/ja/17.json index eb058ff45..25d4b098f 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/ja/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/ja/17.json @@ -9,6 +9,12 @@ "bullets": [ "アプリごとに更新を無視 — 更新したくないアプリの更新バッジを非表示にできるようになりました。" ] + }, + { + "type": "FIXED", + "bullets": [ + "システム設定からアンインストールしたアプリが、追跡リストからすぐに消えるようになりました。" + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/ko/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/ko/17.json index 4b7a00b43..04ebb7ae2 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/ko/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/ko/17.json @@ -9,6 +9,12 @@ "bullets": [ "앱별 업데이트 무시 — 업데이트하고 싶지 않은 앱의 업데이트 배지를 숨길 수 있어요." ] + }, + { + "type": "FIXED", + "bullets": [ + "시스템 설정에서 제거한 앱이 추적 목록에서 즉시 사라집니다." + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/pl/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/pl/17.json index 26b16f0c8..10d350f74 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/pl/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/pl/17.json @@ -9,6 +9,12 @@ "bullets": [ "Ignorowanie aktualizacji dla każdej aplikacji — wycisz powiadomienie o aktualizacji dla dowolnej aplikacji, której nie chcesz aktualizować." ] + }, + { + "type": "FIXED", + "bullets": [ + "Aplikacje odinstalowane przez ustawienia systemu znikają teraz natychmiast z listy śledzonych." + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/ru/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/ru/17.json index 8c7eda075..33e0390f8 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/ru/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/ru/17.json @@ -9,6 +9,12 @@ "bullets": [ "Игнорировать обновления для отдельного приложения — отключите значок обновления у любого приложения, которое не хотите обновлять." ] + }, + { + "type": "FIXED", + "bullets": [ + "Приложения, удалённые через системные настройки, теперь сразу исчезают из списка отслеживаемых." + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/tr/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/tr/17.json index 11f3c3f60..45fbbf7ff 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/tr/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/tr/17.json @@ -9,6 +9,12 @@ "bullets": [ "Uygulama bazında güncelleme yok say — güncellemek istemediğin uygulamaların güncelleme rozetini sustur." ] + }, + { + "type": "FIXED", + "bullets": [ + "Sistem ayarlarından kaldırılan uygulamalar artık izlenen listeden anında siliniyor." + ] } ] } diff --git a/core/presentation/src/commonMain/composeResources/files/whatsnew/zh-CN/17.json b/core/presentation/src/commonMain/composeResources/files/whatsnew/zh-CN/17.json index 6fb5eb534..88c430d19 100644 --- a/core/presentation/src/commonMain/composeResources/files/whatsnew/zh-CN/17.json +++ b/core/presentation/src/commonMain/composeResources/files/whatsnew/zh-CN/17.json @@ -9,6 +9,12 @@ "bullets": [ "按应用忽略更新 — 不想更新的应用,可以单独隐藏其更新提示。" ] + }, + { + "type": "FIXED", + "bullets": [ + "从系统设置卸载的应用,现在会立即从已追踪列表中消失。" + ] } ] }