diff options
author | Frankie <frankie.pangilinan@consensys.net> | 2016-09-16 01:26:02 +0800 |
---|---|---|
committer | Frankie <frankie.pangilinan@consensys.net> | 2016-09-16 01:26:02 +0800 |
commit | 8ea086290b6aa78c35a502dc6e81e4efab904430 (patch) | |
tree | 06258d6566cc6377a8c87d62108e2c208c7a15f6 | |
parent | ef0b535d94d97827b4bfc471e4d950d90d637fa3 (diff) | |
parent | 06b9adf172010600c7ac1127ff2ee76a7433e97b (diff) | |
download | tangerine-wallet-browser-8ea086290b6aa78c35a502dc6e81e4efab904430.tar tangerine-wallet-browser-8ea086290b6aa78c35a502dc6e81e4efab904430.tar.gz tangerine-wallet-browser-8ea086290b6aa78c35a502dc6e81e4efab904430.tar.bz2 tangerine-wallet-browser-8ea086290b6aa78c35a502dc6e81e4efab904430.tar.lz tangerine-wallet-browser-8ea086290b6aa78c35a502dc6e81e4efab904430.tar.xz tangerine-wallet-browser-8ea086290b6aa78c35a502dc6e81e4efab904430.tar.zst tangerine-wallet-browser-8ea086290b6aa78c35a502dc6e81e4efab904430.zip |
Merge branch 'master' into i#519buyButtonTxConf
-rw-r--r-- | CHANGELOG.md | 10 | ||||
-rw-r--r-- | app/manifest.json | 2 | ||||
-rw-r--r-- | app/scripts/background.js | 25 | ||||
-rw-r--r-- | test/unit/extension-test.js | 16 | ||||
-rw-r--r-- | ui/app/conf-tx.js | 4 |
5 files changed, 30 insertions, 27 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 862bf3d7e..63264622d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,18 @@ ## Current Master +## 2.12.1 2016-09-14 + +- Fixed bug where if you send a transaction from within MetaMask extension the +popup notification opens up. +- Fixed bug where some tx errors would block subsequent txs until the plugin was refreshed. + +## 2.12.0 2016-09-14 + +- Add a QR button to the Account detail screen - Fixed bug where opening MetaMask could close a non-metamask popup. - Fixed memory leak that caused occasional crashes. -- Add a QR button to the Account detail screen ## 2.11.1 2016-09-12 - Fix bug that prevented caches from being cleared in Opera. diff --git a/app/manifest.json b/app/manifest.json index a21e0612a..daf9ef94a 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "MetaMask", "short_name": "Metamask", - "version": "2.11.1", + "version": "2.12.1", "manifest_version": 2, "author": "https://metamask.io", "description": "Ethereum Browser Extension", diff --git a/app/scripts/background.js b/app/scripts/background.js index 58228a41a..652acc113 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -10,31 +10,22 @@ const MetamaskController = require('./metamask-controller') const extension = require('./lib/extension') const STORAGE_KEY = 'metamask-config' - +var popupIsOpen = false const controller = new MetamaskController({ // User confirmation callbacks: - showUnconfirmedMessage, - unlockAccountMessage, - showUnconfirmedTx, + showUnconfirmedMessage: triggerUi, + unlockAccountMessage: triggerUi, + showUnconfirmedTx: triggerUi, // Persistence Methods: setData, loadData, }) const idStore = controller.idStore -function unlockAccountMessage () { - notification.show() -} - -function showUnconfirmedMessage (msgParams, msgId) { - notification.show() +function triggerUi () { + if (!popupIsOpen) notification.show() } - -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 (details) { @@ -53,7 +44,8 @@ function connectRemote (remotePort) { var portStream = new PortStream(remotePort) if (isMetaMaskInternalProcess) { // communication with popup - setupTrustedCommunication(portStream, 'MetaMask') + popupIsOpen = remotePort.name === 'popup' + setupTrustedCommunication(portStream, 'MetaMask', remotePort.name) } else { // communication with page var originDomain = urlUtil.parse(remotePort.sender.url).hostname @@ -95,6 +87,7 @@ function setupControllerConnection (stream) { // teardown on disconnect eos(stream, () => { controller.ethStore.removeListener('update', controller.sendUpdate.bind(controller)) + popupIsOpen = false }) }) } diff --git a/test/unit/extension-test.js b/test/unit/extension-test.js index 86e1d887a..8f259f05c 100644 --- a/test/unit/extension-test.js +++ b/test/unit/extension-test.js @@ -1,8 +1,8 @@ var assert = require('assert') var sinon = require('sinon') const ethUtil = require('ethereumjs-util') -GLOBAL.chrome = {} -GLOBAL.browser = {} +global.chrome = {} +global.browser = {} var path = require('path') var Extension = require(path.join(__dirname, '..', '..', 'app', 'scripts', 'lib', 'extension-instance.js')) @@ -13,7 +13,7 @@ describe('extension', function() { const desiredResult = 'http://the-desired-result.io' describe('in Chrome or Firefox', function() { - GLOBAL.chrome.extension = { + global.chrome.extension = { getURL: () => desiredResult } @@ -25,7 +25,7 @@ describe('extension', function() { }) describe('in Microsoft Edge', function() { - GLOBAL.browser.extension = { + global.browser.extension = { getURL: () => desiredResult } @@ -41,7 +41,7 @@ describe('extension', function() { let extension beforeEach(function() { - GLOBAL.chrome = { + global.chrome = { alarms: 'foo' } extension = new Extension() @@ -58,9 +58,9 @@ describe('extension', function() { beforeEach(function() { realWindow = window - window = GLOBAL - GLOBAL.chrome = undefined - GLOBAL.alarms = 'foo' + window = global + global.chrome = undefined + global.alarms = 'foo' extension = new Extension() }) diff --git a/ui/app/conf-tx.js b/ui/app/conf-tx.js index 0c3e32cea..8cbb1f44f 100644 --- a/ui/app/conf-tx.js +++ b/ui/app/conf-tx.js @@ -160,7 +160,9 @@ ConfirmTxScreen.prototype.goHome = function (event) { } function warningIfExists (warning) { - if (warning) { + if (warning && + // Do not display user rejections on this screen: + warning.indexOf('User denied transaction signature') === -1) { return h('span.error', { style: { margin: 'auto' } }, warning) } } |