From 2c8156ebe91941309d49e8f8f1ed8e9d740bb9de Mon Sep 17 00:00:00 2001 From: Alexander Tseung Date: Wed, 18 Apr 2018 00:31:33 -0700 Subject: Fix UI getting stuck in Reveal Seed screen --- ui/app/actions.js | 16 ++++++++++++++-- ui/app/app.js | 14 +++++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) (limited to 'ui') diff --git a/ui/app/actions.js b/ui/app/actions.js index f5cdd32bc..73335db97 100644 --- a/ui/app/actions.js +++ b/ui/app/actions.js @@ -351,7 +351,6 @@ function confirmSeedWords () { log.debug(`background.clearSeedWordCache`) return new Promise((resolve, reject) => { background.clearSeedWordCache((err, account) => { - dispatch(actions.hideLoadingIndication()) if (err) { dispatch(actions.displayWarning(err.message)) return reject(err) @@ -362,6 +361,9 @@ function confirmSeedWords () { resolve(account) }) }) + .then(() => dispatch(setIsRevealingSeedWords(false))) + .then(() => dispatch(actions.hideLoadingIndication())) + .catch(() => dispatch(actions.hideLoadingIndication())) } } @@ -446,11 +448,13 @@ function requestRevealSeed (password) { } dispatch(actions.showNewVaultSeed(result)) - dispatch(actions.hideLoadingIndication()) resolve() }) }) }) + .then(() => dispatch(setIsRevealingSeedWords(true))) + .then(() => dispatch(actions.hideLoadingIndication())) + .catch(() => dispatch(actions.hideLoadingIndication())) } } @@ -1907,3 +1911,11 @@ function updateNetworkEndpointType (networkEndpointType) { value: networkEndpointType, } } + +function setIsRevealingSeedWords (reveal) { + return dispatch => { + log.debug(`background.setIsRevealingSeedWords`) + background.setIsRevealingSeedWords(reveal) + return forceUpdateMetamaskState(dispatch) + } +} diff --git a/ui/app/app.js b/ui/app/app.js index 827b4e9ce..1667e848d 100644 --- a/ui/app/app.js +++ b/ui/app/app.js @@ -56,11 +56,20 @@ const { class App extends Component { componentWillMount () { - const { currentCurrency, setCurrentCurrencyToUSD } = this.props + const { + currentCurrency, + setCurrentCurrencyToUSD, + isRevealingSeedWords, + clearSeedWords, + } = this.props if (!currentCurrency) { setCurrentCurrencyToUSD() } + + if (isRevealingSeedWords) { + clearSeedWords() + } } renderRoutes () { @@ -406,6 +415,8 @@ App.propTypes = { isMouseUser: PropTypes.bool, setMouseUserState: PropTypes.func, t: PropTypes.func, + isRevealingSeedWords: PropTypes.bool, + clearSeedWords: PropTypes.func, } function mapStateToProps (state) { @@ -486,6 +497,7 @@ function mapDispatchToProps (dispatch, ownProps) { setCurrentCurrencyToUSD: () => dispatch(actions.setCurrentCurrency('usd')), toggleAccountMenu: () => dispatch(actions.toggleAccountMenu()), setMouseUserState: (isMouseUser) => dispatch(actions.setMouseUserState(isMouseUser)), + clearSeedWords: () => dispatch(actions.confirmSeedWords()), } } -- cgit v1.2.3