From 2c987cd606603b9092b9af2b6d697e07abab7b8a Mon Sep 17 00:00:00 2001 From: Matthew Wall Date: Fri, 20 Dec 2024 12:58:49 -0500 Subject: [PATCH 1/2] remove backup prompt from importing flow as it runs in the walletReady flow now --- src/hooks/useImportingWallet.ts | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/src/hooks/useImportingWallet.ts b/src/hooks/useImportingWallet.ts index f1cde6313da..096099c8f61 100644 --- a/src/hooks/useImportingWallet.ts +++ b/src/hooks/useImportingWallet.ts @@ -339,24 +339,6 @@ export default function useImportingWallet({ showImportModal = true } = {}) { }); }, 1_000); - setTimeout(() => { - // If it's not read only or hardware, show the backup sheet - if ( - !( - isENSAddressFormat(input) || - isUnstoppableAddressFormat(input) || - isValidAddress(input) || - isValidBluetoothDeviceId(input) - ) - ) { - if (!IS_TEST) { - Navigation.handleAction(Routes.BACKUP_SHEET, { - step: WalletBackupStepTypes.backup_prompt, - }); - } - } - }, 1000); - analytics.track('Imported seed phrase', { isWalletEthZero, }); From d6b54e8983760e1b221116d6740b3c76fcd44f44 Mon Sep 17 00:00:00 2001 From: Matthew Wall Date: Fri, 20 Dec 2024 13:06:41 -0500 Subject: [PATCH 2/2] fix potential race condition --- src/handlers/walletReadyEvents.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/handlers/walletReadyEvents.ts b/src/handlers/walletReadyEvents.ts index b62749da519..b8e53674c66 100644 --- a/src/handlers/walletReadyEvents.ts +++ b/src/handlers/walletReadyEvents.ts @@ -28,10 +28,10 @@ const delay = (ms: number) => }); const promptForBackupOnceReadyOrNotAvailable = async (): Promise => { - const { status } = backupsStore.getState(); - if (LoadingStates.includes(status)) { + let { status } = backupsStore.getState(); + while (LoadingStates.includes(status)) { await delay(1000); - return promptForBackupOnceReadyOrNotAvailable(); + status = backupsStore.getState().status; } logger.debug(`[walletReadyEvents]: BackupSheet: showing backup now sheet for selected wallet`); @@ -47,9 +47,7 @@ export const runWalletBackupStatusChecks = async (): Promise => { const { selected } = store.getState().wallets; if (!selected || IS_TEST) return false; - const selectedWalletNeedsBackedUp = - !selected.backedUp && !selected.damaged && selected.type !== WalletTypes.readOnly && selected.type !== WalletTypes.bluetooth; - if (selectedWalletNeedsBackedUp) { + if (!selected.backedUp && !selected.damaged && selected.type !== WalletTypes.readOnly && selected.type !== WalletTypes.bluetooth) { logger.debug('[walletReadyEvents]: Selected wallet is not backed up, prompting backup sheet'); return promptForBackupOnceReadyOrNotAvailable(); }