aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrankie <frankie.pangilinan@consensys.net>2016-09-16 01:26:02 +0800
committerFrankie <frankie.pangilinan@consensys.net>2016-09-16 01:26:02 +0800
commit8ea086290b6aa78c35a502dc6e81e4efab904430 (patch)
tree06258d6566cc6377a8c87d62108e2c208c7a15f6
parentef0b535d94d97827b4bfc471e4d950d90d637fa3 (diff)
parent06b9adf172010600c7ac1127ff2ee76a7433e97b (diff)
downloadtangerine-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.md10
-rw-r--r--app/manifest.json2
-rw-r--r--app/scripts/background.js25
-rw-r--r--test/unit/extension-test.js16
-rw-r--r--ui/app/conf-tx.js4
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)
}
}