diff options
author | Thomas Huang <tmashuang@users.noreply.github.com> | 2017-06-27 07:18:37 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-27 07:18:37 +0800 |
commit | 62c4501160b23e526ea4a5d496182666273fbf66 (patch) | |
tree | 9f36ff0f11974399739f36d4a74e2cfbdc71a7a3 | |
parent | 8b5b2d832995ca4b928c47abebd7e5476ac71e6a (diff) | |
parent | 9962a3068b25283e62963338f2c686818f0baef7 (diff) | |
download | tangerine-wallet-browser-62c4501160b23e526ea4a5d496182666273fbf66.tar tangerine-wallet-browser-62c4501160b23e526ea4a5d496182666273fbf66.tar.gz tangerine-wallet-browser-62c4501160b23e526ea4a5d496182666273fbf66.tar.bz2 tangerine-wallet-browser-62c4501160b23e526ea4a5d496182666273fbf66.tar.lz tangerine-wallet-browser-62c4501160b23e526ea4a5d496182666273fbf66.tar.xz tangerine-wallet-browser-62c4501160b23e526ea4a5d496182666273fbf66.tar.zst tangerine-wallet-browser-62c4501160b23e526ea4a5d496182666273fbf66.zip |
Merge pull request #1677 from MetaMask/i1676-quickclick
Prevent Duplicate Submission with Quick Clicking
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | ui/app/components/pending-tx.js | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 754f076f8..4bfec12dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Fix bug where slowly mined txs would sometimes be incorrectly marked as failed. - Fix bug where badge count did not reflect personal_sign pending messages. - Seed word confirmation wording is now scarier. +- Prevent users from submitting two duplicate transactions by disabling submit. ## 3.7.8 2017-6-12 diff --git a/ui/app/components/pending-tx.js b/ui/app/components/pending-tx.js index 4b1a00eca..f33a5d948 100644 --- a/ui/app/components/pending-tx.js +++ b/ui/app/components/pending-tx.js @@ -27,6 +27,7 @@ function PendingTx () { this.state = { valid: true, txData: null, + submitting: false, } } @@ -316,7 +317,7 @@ PendingTx.prototype.render = function () { type: 'submit', value: 'ACCEPT', style: { marginLeft: '10px' }, - disabled: insufficientBalance || !this.state.valid || !isValidAddress, + disabled: insufficientBalance || !this.state.valid || !isValidAddress || this.state.submitting, }), h('button.cancel.btn-red', { @@ -412,11 +413,12 @@ PendingTx.prototype.onSubmit = function (event) { event.preventDefault() const txMeta = this.gatherTxMeta() const valid = this.checkValidity() - this.setState({ valid }) + this.setState({ valid, submitting: true }) if (valid && this.verifyGasParams()) { this.props.sendTransaction(txMeta, event) } else { this.props.dispatch(actions.displayWarning('Invalid Gas Parameters')) + this.setState({ submitting: false }) } } |