From 8620ddfe014edb144f391a0dc1047dc0267917b5 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 16 Mar 2026 17:31:08 +0000 Subject: [PATCH] Start built-in Tor when BUILTIN mode is selected at login/signup When the first account is created with TorMode.BUILTIN selected, call TorManager.start() immediately after saving settings so Tor begins connecting before the app navigates to the main screen. This mirrors the same call made in the Settings screen handler. https://claude.ai/code/session_01CBvmaELoVYbgJi4Wi8fgrG --- .../greenart7c3/nostrsigner/ui/AccountStateViewModel.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/AccountStateViewModel.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/AccountStateViewModel.kt index 243b452b..34894f03 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/AccountStateViewModel.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/AccountStateViewModel.kt @@ -7,6 +7,7 @@ import com.greenart7c3.nostrsigner.Amber import com.greenart7c3.nostrsigner.LocalPreferences import com.greenart7c3.nostrsigner.models.Account import com.greenart7c3.nostrsigner.models.TorMode +import com.greenart7c3.nostrsigner.service.TorManager import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal @@ -118,6 +119,9 @@ class AccountStateViewModel(npub: String?) : ViewModel() { LocalPreferences.saveSettingsToEncryptedStorage( Amber.instance.settings, ) + if (torMode == TorMode.BUILTIN) { + TorManager.start(Amber.instance, Amber.instance.applicationIOScope) + } } LocalPreferences.updatePrefsForLogin(Amber.instance, account, keyPair.pubKey.toHexKey(), keyPair.privKey!!.toHexKey(), null) startUI(account, route) @@ -152,6 +156,9 @@ class AccountStateViewModel(npub: String?) : ViewModel() { LocalPreferences.saveSettingsToEncryptedStorage( Amber.instance.settings, ) + if (torMode == TorMode.BUILTIN) { + TorManager.start(Amber.instance, Amber.instance.applicationIOScope) + } Amber.instance.applicationIOScope.launch { Amber.instance.reconnect() }