From e6a126d41630cb55debd469999c92482b3991f9a Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Thu, 6 Jun 2024 21:33:44 -0400 Subject: [PATCH] Only submit captcha once in Registration V2. --- .../registration/v2/ui/RegistrationV2ViewModel.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/v2/ui/RegistrationV2ViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/v2/ui/RegistrationV2ViewModel.kt index f141860bc2..9dd5d51344 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/v2/ui/RegistrationV2ViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/v2/ui/RegistrationV2ViewModel.kt @@ -373,14 +373,16 @@ class RegistrationV2ViewModel : ViewModel() { val e164 = getCurrentE164() ?: throw IllegalStateException("Can't submit captcha token if no phone number is set!") val captchaToken = store.value.captchaToken ?: throw IllegalStateException("Can't submit captcha token if no captcha token is set!") + store.update { + it.copy(captchaToken = null) + } + viewModelScope.launch { val session = getOrCreateValidSession(context, errorHandler) ?: return@launch bail { Log.i(TAG, "Could not create valid session for submitting a captcha token.") } Log.d(TAG, "Submitting captcha token…") val captchaSubmissionResult = RegistrationRepository.submitCaptchaToken(context, e164, password, session.body.id, captchaToken) Log.d(TAG, "Captcha token submitted.") - store.update { - it.copy(captchaToken = null) - } + handleSessionStateResult(context, captchaSubmissionResult, errorHandler) } }