From d0c17317eafadc954d34c068bd24491f1a304beb Mon Sep 17 00:00:00 2001 From: Siavash Sameni Date: Thu, 9 Apr 2026 10:21:59 +0400 Subject: [PATCH] fix: generate seed if empty on register (fresh install), add JNI debug logging --- .../app/src/main/java/com/wzp/ui/call/CallViewModel.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/java/com/wzp/ui/call/CallViewModel.kt b/android/app/src/main/java/com/wzp/ui/call/CallViewModel.kt index 75a7202..97e48ab 100644 --- a/android/app/src/main/java/com/wzp/ui/call/CallViewModel.kt +++ b/android/app/src/main/java/com/wzp/ui/call/CallViewModel.kt @@ -169,7 +169,15 @@ class CallViewModel : ViewModel(), WzpCallback { if (serverIdx >= serverList.size) return val relay = serverList[serverIdx].address - val seed = _seedHex.value + var seed = _seedHex.value + // Generate seed if empty (fresh install or cleared storage) + if (seed.isEmpty()) { + val newSeed = ByteArray(32).also { java.security.SecureRandom().nextBytes(it) } + seed = newSeed.joinToString("") { "%02x".format(it) } + _seedHex.value = seed + settings?.saveSeedHex(seed) + Log.i(TAG, "generated new identity seed") + } val resolvedRelay = resolveToIp(relay) ?: relay // nativeSignalConnect has JNI overhead — must be on a thread with enough stack.