1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Merge branch 'master' into i1616-AddTokenAdding

This commit is contained in:
Dan Finlay 2017-06-23 08:41:17 -04:00
commit 06706f6e1b
7 changed files with 34 additions and 18 deletions

View File

@ -6,6 +6,8 @@
- Add ability to add Tokens to token list. - Add ability to add Tokens to token list.
- Add a warning to JSON file import. - Add a warning to JSON file import.
- Fix bug where slowly mined txs would sometimes be incorrectly marked as failed. - 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.
## 3.7.8 2017-6-12 ## 3.7.8 2017-6-12

View File

@ -116,13 +116,15 @@ function setupController (initState) {
updateBadge() updateBadge()
controller.txController.on('updateBadge', updateBadge) controller.txController.on('updateBadge', updateBadge)
controller.messageManager.on('updateBadge', updateBadge) controller.messageManager.on('updateBadge', updateBadge)
controller.personalMessageManager.on('updateBadge', updateBadge)
// plugin badge text // plugin badge text
function updateBadge () { function updateBadge () {
var label = '' var label = ''
var unapprovedTxCount = controller.txController.unapprovedTxCount var unapprovedTxCount = controller.txController.unapprovedTxCount
var unapprovedMsgCount = controller.messageManager.unapprovedMsgCount var unapprovedMsgCount = controller.messageManager.unapprovedMsgCount
var count = unapprovedTxCount + unapprovedMsgCount var unapprovedPersonalMsgs = controller.personalMessageManager.unapprovedPersonalMsgCount
var count = unapprovedTxCount + unapprovedMsgCount + unapprovedPersonalMsgs
if (count) { if (count) {
label = String(count) label = String(count)
} }

View File

@ -1,6 +1,6 @@
machine: machine:
node: node:
version: 7.6.0 version: 8.0.0
dependencies: dependencies:
pre: pre:
- "npm i -g testem" - "npm i -g testem"

View File

@ -9,13 +9,15 @@ var b = browserify()
// Remove old bundle // Remove old bundle
try { try {
fs.unlinkSync(bundlePath) fs.unlinkSync(bundlePath)
} catch (e) {}
var writeStream = fs.createWriteStream(bundlePath) var writeStream = fs.createWriteStream(bundlePath)
tests.forEach(function (fileName) { tests.forEach(function (fileName) {
b.add(path.join(__dirname, 'lib', fileName)) b.add(path.join(__dirname, 'lib', fileName))
}) })
b.bundle().pipe(writeStream) b.bundle().pipe(writeStream)
} catch (e) {
console.error('Integration build failure', e)
}

View File

@ -29,13 +29,18 @@ function TokenList () {
TokenList.prototype.render = function () { TokenList.prototype.render = function () {
const state = this.state const state = this.state
const { isLoading, tokens } = state const { tokens, isLoading, error } = state
const { userAddress, network } = this.props const { userAddress, network } = this.props
if (isLoading) { if (isLoading) {
return this.message('Loading') return this.message('Loading')
} }
if (error) {
log.error(error)
return this.message('There was a problem loading your token balances.')
}
const tokenViews = tokens.map((tokenData) => { const tokenViews = tokens.map((tokenData) => {
tokenData.network = network tokenData.network = network
tokenData.userAddress = userAddress tokenData.userAddress = userAddress
@ -114,7 +119,10 @@ TokenList.prototype.componentDidMount = function () {
TokenList.prototype.createFreshTokenTracker = function () { TokenList.prototype.createFreshTokenTracker = function () {
if (this.tracker) { if (this.tracker) {
// Clean up old trackers when refreshing:
this.tracker.stop() this.tracker.stop()
this.tracker.removeListener('update', this.balanceUpdater)
this.tracker.removeListener('error', this.showError)
} }
if (!global.ethereumProvider) return if (!global.ethereumProvider) return
@ -126,9 +134,15 @@ TokenList.prototype.createFreshTokenTracker = function () {
pollingInterval: 8000, pollingInterval: 8000,
}) })
this.tracker.on('update', (tokenData) => {
this.updateBalances(tokenData) // Set up listener instances for cleaning up
}) this.balanceUpdater = this.updateBalances.bind(this)
this.showError = (error) => {
this.setState({ error, isLoading: false })
}
this.tracker.on('update', this.balanceUpdater)
this.tracker.on('error', this.showError)
this.tracker.updateBalances() this.tracker.updateBalances()
.then(() => { .then(() => {
this.updateBalances(this.tracker.serialize()) this.updateBalances(this.tracker.serialize())

View File

@ -101,14 +101,12 @@ InfoScreen.prototype.render = function () {
h('a.info', { h('a.info', {
href: 'https://github.com/MetaMask/faq', href: 'https://github.com/MetaMask/faq',
target: '_blank', target: '_blank',
onClick (event) { this.navigateTo(event.target.href) },
}, 'Need Help? Read our FAQ!'), }, 'Need Help? Read our FAQ!'),
]), ]),
h('div', [ h('div', [
h('a', { h('a', {
href: 'https://metamask.io/', href: 'https://metamask.io/',
target: '_blank', target: '_blank',
onClick (event) { this.navigateTo(event.target.href) },
}, [ }, [
h('img.icon-size', { h('img.icon-size', {
src: 'images/icon-128.png', src: 'images/icon-128.png',
@ -126,7 +124,6 @@ InfoScreen.prototype.render = function () {
h('a.info', { h('a.info', {
href: 'http://slack.metamask.io', href: 'http://slack.metamask.io',
target: '_blank', target: '_blank',
onClick (event) { this.navigateTo(event.target.href) },
}, 'Join the conversation on Slack'), }, 'Join the conversation on Slack'),
]), ]),
@ -134,7 +131,6 @@ InfoScreen.prototype.render = function () {
h('a.info', { h('a.info', {
href: 'https://twitter.com/metamask_io', href: 'https://twitter.com/metamask_io',
target: '_blank', target: '_blank',
onClick (event) { this.navigateTo(event.target.href) },
}, 'Follow us on Twitter'), }, 'Follow us on Twitter'),
]), ]),
@ -142,7 +138,7 @@ InfoScreen.prototype.render = function () {
h('a.info', { h('a.info', {
target: '_blank', target: '_blank',
style: { width: '85vw' }, style: { width: '85vw' },
onClick () { this.navigateTo('mailto:help@metamask.io?subject=Feedback') }, href: 'mailto:help@metamask.io?subject=Feedback',
}, 'Email us!'), }, 'Email us!'),
]), ]),
]), ]),

View File

@ -54,7 +54,7 @@ CreateVaultCompleteScreen.prototype.render = function () {
textAlign: 'center', textAlign: 'center',
}, },
}, [ }, [
h('span.error', 'These 12 words can restore all of your MetaMask accounts for this vault.\nSave them somewhere safe and secret.'), h('span.error', 'These 12 words are the only way to restore your MetaMask accounts.\nSave them somewhere safe and secret.'),
]), ]),
h('textarea.twelve-word-phrase', { h('textarea.twelve-word-phrase', {