From a18142f35c0871c2527b027402a40e1195f7ac8d Mon Sep 17 00:00:00 2001 From: VH Date: Tue, 10 Oct 2023 21:01:59 +0700 Subject: [PATCH 1/4] Disable switching between 2FA and recover code button when form submitting --- src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js b/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js index d4ed0c45d28c..3a8993456edc 100755 --- a/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js +++ b/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js @@ -92,6 +92,7 @@ function BaseValidateCodeForm(props) { const hasError = Boolean(props.account) && !_.isEmpty(props.account.errors); const isLoadingResendValidationForm = props.account.loadingForm === CONST.FORMS.RESEND_VALIDATE_CODE_FORM; const shouldDisableResendValidateCode = props.network.isOffline || props.account.isLoading; + const isValidateCodeFormSubmitting = props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM) useEffect(() => { if (!(inputValidateCodeRef.current && hasError && (props.session.autoAuthState === CONST.AUTO_AUTH_STATE.FAILED || props.account.isLoading))) { @@ -327,6 +328,7 @@ function BaseValidateCodeForm(props) { underlayColor={themeColors.componentBG} hoverDimmingValue={1} pressDimmingValue={0.2} + disabled={isValidateCodeFormSubmitting} accessibilityRole={CONST.ACCESSIBILITY_ROLE.BUTTON} accessibilityLabel={props.isUsingRecoveryCode ? props.translate('recoveryCodeForm.use2fa') : props.translate('recoveryCodeForm.useRecoveryCode')} > @@ -379,9 +381,7 @@ function BaseValidateCodeForm(props) { success style={[styles.mv3]} text={props.translate('common.signIn')} - isLoading={ - props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM) - } + isLoading={isValidateCodeFormSubmitting} onPress={validateAndSubmitForm} /> From f106ffae18421c18e54fb164f7ccb2dd9bb0847e Mon Sep 17 00:00:00 2001 From: VH Date: Tue, 10 Oct 2023 22:32:57 +0700 Subject: [PATCH 2/4] Fix linter --- src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js b/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js index 3a8993456edc..335df7be3188 100755 --- a/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js +++ b/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js @@ -92,7 +92,8 @@ function BaseValidateCodeForm(props) { const hasError = Boolean(props.account) && !_.isEmpty(props.account.errors); const isLoadingResendValidationForm = props.account.loadingForm === CONST.FORMS.RESEND_VALIDATE_CODE_FORM; const shouldDisableResendValidateCode = props.network.isOffline || props.account.isLoading; - const isValidateCodeFormSubmitting = props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM) + const isValidateCodeFormSubmitting = + props.account.isLoading && props.account.loadingForm === (props.account.requiresTwoFactorAuth ? CONST.FORMS.VALIDATE_TFA_CODE_FORM : CONST.FORMS.VALIDATE_CODE_FORM); useEffect(() => { if (!(inputValidateCodeRef.current && hasError && (props.session.autoAuthState === CONST.AUTO_AUTH_STATE.FAILED || props.account.isLoading))) { From 85a7a91258050a89b2b82d3dbfab79d89afca692 Mon Sep 17 00:00:00 2001 From: VH Date: Tue, 10 Oct 2023 22:44:37 +0700 Subject: [PATCH 3/4] Trigger checklist From f9f2f007300dc6936d748a2ce3187c76aadc1b78 Mon Sep 17 00:00:00 2001 From: VH Date: Wed, 11 Oct 2023 18:29:20 +0700 Subject: [PATCH 4/4] Trigger perf-test