From 343a7e9cce051d3045fe1a0c8a408c0d7402a1a1 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Wed, 16 Aug 2017 17:06:21 -0700 Subject: [PATCH 1/3] Transition to home view after tx error --- ui/app/actions.js | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/ui/app/actions.js b/ui/app/actions.js index eafd04b4c..eebe65ba2 100644 --- a/ui/app/actions.js +++ b/ui/app/actions.js @@ -97,7 +97,6 @@ var actions = { cancelMsg: cancelMsg, signPersonalMsg, cancelPersonalMsg, - sendTx: sendTx, signTx: signTx, updateAndApproveTx, cancelTx: cancelTx, @@ -397,26 +396,13 @@ function signPersonalMsg (msgData) { function signTx (txData) { return (dispatch) => { + dispatch(actions.showLoadingIndication()) global.ethQuery.sendTransaction(txData, (err, data) => { dispatch(actions.hideLoadingIndication()) - if (err) return dispatch(actions.displayWarning(err.message)) - dispatch(actions.hideWarning()) - }) - dispatch(this.showConfTxPage()) - } -} - -function sendTx (txData) { - log.info(`actions - sendTx: ${JSON.stringify(txData.txParams)}`) - return (dispatch) => { - log.debug(`actions calling background.approveTransaction`) - background.approveTransaction(txData.id, (err) => { - if (err) { - dispatch(actions.txError(err)) - return log.error(err.message) - } - dispatch(actions.completedTx(txData.id)) + if (err) dispatch(actions.displayWarning(err.message)) + dispatch(this.goHome()) }) + dispatch(actions.showConfTxPage()) } } @@ -428,6 +414,7 @@ function updateAndApproveTx (txData) { dispatch(actions.hideLoadingIndication()) if (err) { dispatch(actions.txError(err)) + dispatch(actions.goHome()) return log.error(err.message) } dispatch(actions.completedTx(txData.id)) From e3a5c3684d795e90d17f39019ed46115e2401510 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Wed, 16 Aug 2017 17:06:45 -0700 Subject: [PATCH 2/3] Bump changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d4fecac83..88c794652 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Current Master +- Fix bug where some transaction submission errors would show an empty screen. + ## 3.9.8 2017-8-16 - Reenable token list. From f684b53b69116ef6b9e2b0449956d8f59df56253 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Wed, 16 Aug 2017 17:17:05 -0700 Subject: [PATCH 3/3] Remove dead tests --- test/unit/actions/tx_test.js | 87 +----------------------------------- 1 file changed, 1 insertion(+), 86 deletions(-) diff --git a/test/unit/actions/tx_test.js b/test/unit/actions/tx_test.js index 67c72e9a5..ea6dfda6a 100644 --- a/test/unit/actions/tx_test.js +++ b/test/unit/actions/tx_test.js @@ -53,7 +53,7 @@ describe('tx confirmation screen', function () { result = reducers(initialState, action) done() }) - + }) it('should transition to the account detail view', function () { @@ -65,91 +65,6 @@ describe('tx confirmation screen', function () { assert.equal(count, 0) }) }) - - describe('sendTx', function () { - var result - - describe('when there is an error', function () { - before(function (done) { - actions._setBackgroundConnection({ - approveTransaction (txId, cb) { cb({message: 'An error!'}) }, - }) - - actions.sendTx({id: firstTxId})(function (action) { - result = reducers(initialState, action) - done() - }) - }) - - it('should stay on the page', function () { - assert.equal(result.appState.currentView.name, 'confTx') - }) - - it('should set errorMessage on the currentView', function () { - assert(result.appState.currentView.errorMessage) - }) - }) - - describe('when there is success', function () { - it('should complete tx and go home', function () { - actions._setBackgroundConnection({ - approveTransaction (txId, cb) { cb() }, - }) - - var dispatchExpect = sinon.mock() - dispatchExpect.twice() - - actions.sendTx({id: firstTxId})(dispatchExpect) - }) - }) - }) - - describe('when there are two pending txs', function () { - var firstTxId = 1457634084250832 - var result, initialState - before(function (done) { - initialState = { - appState: { - currentView: { - name: 'confTx', - }, - }, - metamask: { - unapprovedTxs: { - '1457634084250832': { - id: firstTxId, - status: 'unconfirmed', - time: 1457634084250, - }, - '1457634084250833': { - id: 1457634084250833, - status: 'unconfirmed', - time: 1457634084255, - }, - }, - }, - } - freeze(initialState) - - // Mocking a background connection: - actions._setBackgroundConnection({ - approveTransaction (firstTxId, cb) { cb() }, - }) - - actions.sendTx({id: firstTxId})(function (action) { - result = reducers(initialState, action) - }) - done() - }) - - it('should stay on the confTx view', function () { - assert.equal(result.appState.currentView.name, 'confTx') - }) - - it('should transition to the first tx', function () { - assert.equal(result.appState.currentView.context, 0) - }) - }) }) })