From e5c95d68f80eba3e3d4645f7ac1f6606d0dddd52 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Thu, 20 Oct 2016 11:00:38 -0700 Subject: [PATCH] Fix state updating after vault creation and unlocking --- app/scripts/keyring-controller.js | 4 ++-- ui/app/actions.js | 10 ++++++++-- ui/app/app.js | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/scripts/keyring-controller.js b/app/scripts/keyring-controller.js index 416d6093c..84601916f 100644 --- a/app/scripts/keyring-controller.js +++ b/app/scripts/keyring-controller.js @@ -72,7 +72,7 @@ module.exports = class KeyringController extends EventEmitter { }) .then((encryptedString) => { this.configManager.setVault(encryptedString) - cb(null, []) + cb(null, this.getState()) }) .catch((err) => { cb(err) @@ -82,7 +82,7 @@ module.exports = class KeyringController extends EventEmitter { submitPassword(password, cb) { this.loadKey(password) .then((key) => { - cb(null, []) + cb(null, this.getState()) }) .catch((err) => { cb(err) diff --git a/ui/app/actions.js b/ui/app/actions.js index e33a3800a..d5a00833b 100644 --- a/ui/app/actions.js +++ b/ui/app/actions.js @@ -157,11 +157,16 @@ function tryUnlockMetamask (password) { return (dispatch) => { dispatch(actions.showLoadingIndication()) dispatch(actions.unlockInProgress()) - background.submitPassword(password, (err, selectedAccount) => { + background.submitPassword(password, (err, newState) => { dispatch(actions.hideLoadingIndication()) if (err) { dispatch(actions.unlockFailed()) } else { + dispatch(this.updateMetamaskState(newState)) + let selectedAccount + try { + selectedAccount = newState.metamask.selectedAccount + } catch (e) {} dispatch(actions.unlockMetamask(selectedAccount)) } }) @@ -171,10 +176,11 @@ function tryUnlockMetamask (password) { function createNewVault (password, entropy) { return (dispatch) => { dispatch(actions.createNewVaultInProgress()) - background.createNewVault(password, entropy, (err, result) => { + background.createNewVault(password, entropy, (err, newState) => { if (err) { return dispatch(actions.showWarning(err.message)) } + dispatch(this.updateMetamaskState(newState)) dispatch(this.showAccountsPage()) dispatch(this.hideLoadingIndication()) }) diff --git a/ui/app/app.js b/ui/app/app.js index 7392e275d..cbe02b683 100644 --- a/ui/app/app.js +++ b/ui/app/app.js @@ -402,6 +402,7 @@ App.prototype.renderPrimary = function () { // show initialize screen if (!props.isInitialized || props.forgottenPassword) { + // show current view switch (props.currentView.name) {