diff options
-rw-r--r-- | CHANGELOG.md | 3 | ||||
-rw-r--r-- | app/scripts/background.js | 8 | ||||
-rw-r--r-- | app/scripts/metamask-controller.js | 2 | ||||
-rw-r--r-- | ui/app/components/account-info-link.js | 2 | ||||
-rw-r--r-- | ui/app/components/buy-button-subview.js | 2 | ||||
-rw-r--r-- | ui/app/eth-store-warning.js | 7 |
6 files changed, 16 insertions, 8 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index f9bdf7154..c20aa11d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ ## Current Master - Add fiat conversion values to more views. +- On fresh install, open a new tab with the MetaMask Introduction video. +- Block negative values from transactions. +- Fixed a memory leak. ## 2.10.2 2016-09-02 diff --git a/app/scripts/background.js b/app/scripts/background.js index 5dae8235f..18aaed7bf 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -35,6 +35,12 @@ function showUnconfirmedTx (txParams, txData, onTxDoneCb) { notification.show() } +// On first install, open a window to MetaMask website to how-it-works. + +extension.runtime.onInstalled.addListener(function (object) { + extension.tabs.create({url: 'https://metamask.io/#how-it-works'}) +}) + // // connect to other contexts // @@ -80,6 +86,7 @@ function setupControllerConnection (stream) { stream.pipe(dnode).pipe(stream) dnode.on('remote', (remote) => { // push updates to popup + controller.ethStore.removeListener('update', controller.sendUpdate.bind(controller)) controller.ethStore.on('update', controller.sendUpdate.bind(controller)) controller.listeners.push(remote) idStore.on('update', controller.sendUpdate.bind(controller)) @@ -160,4 +167,3 @@ function getOldStyleData () { function setData (data) { window.localStorage[STORAGE_KEY] = JSON.stringify(data) } - diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 83827ec76..5373cf0d9 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -220,7 +220,7 @@ module.exports = class MetamaskController { } enforceTxValidations (txParams) { - if (txParams.value.indexOf('-') === 0) { + if (('value' in txParams) && txParams.value.indexOf('-') === 0) { const msg = `Invalid transaction value of ${txParams.value} not a positive number.` return new Error(msg) } diff --git a/ui/app/components/account-info-link.js b/ui/app/components/account-info-link.js index 4fe3b8b5d..49c42e9ec 100644 --- a/ui/app/components/account-info-link.js +++ b/ui/app/components/account-info-link.js @@ -14,7 +14,7 @@ function AccountInfoLink () { AccountInfoLink.prototype.render = function () { const { selected, network } = this.props - const title = 'View account on etherscan' + const title = 'View account on Etherscan' const url = genAccountLink(selected, network) if (!url) { diff --git a/ui/app/components/buy-button-subview.js b/ui/app/components/buy-button-subview.js index 742241e5b..c3e9e5d7b 100644 --- a/ui/app/components/buy-button-subview.js +++ b/ui/app/components/buy-button-subview.js @@ -106,7 +106,7 @@ BuyButtonSubview.prototype.formVersionSubview = function () { style: { width: '225px', }, - }, 'In order to access this feature please switch too the Main Network'), + }, 'In order to access this feature please switch to the Main Network'), h('h3.text-transform-uppercase', 'or:'), this.props.network === '2' ? h('button.text-transform-uppercase', { onClick: () => this.props.dispatch(actions.buyEth()), diff --git a/ui/app/eth-store-warning.js b/ui/app/eth-store-warning.js index 55274996b..fe3c7ce5d 100644 --- a/ui/app/eth-store-warning.js +++ b/ui/app/eth-store-warning.js @@ -35,10 +35,9 @@ EthStoreWarning.prototype.render = function () { margin: '10px 10px 10px 10px', }, }, - `The MetaMask team would like to - remind you that MetaMask is currently in beta - so - don't store large - amounts of ether in MetaMask. + `MetaMask is currently in beta; use + caution in storing large + amounts of ether. `), h('i.fa.fa-exclamation-triangle.fa-4', { |