Merge branch 'master' into pr/351

# Conflicts:
#	CHANGELOG.md
#	app/scripts/lib/notifications.js
feature/default_network_editable
kumavis 9 years ago
commit 19f9d6566b
  1. 3
      CHANGELOG.md
  2. 32
      app/scripts/background.js
  3. 49
      app/scripts/lib/notifications.js
  4. 38
      svg-notifications.md
  5. 2
      ui/app/account-detail.js
  6. 2
      ui/app/first-time/disclaimer.js

@ -7,7 +7,8 @@
- Changed status shapes to be a yellow warning sign for failure and ellipsis for pending transactions.
- Now enforce 20 character limit on wallet names.
- Wallet titles are now properly truncated in transaction confirmation.
- Fix formatting on terms & conditions page.
- Now enforce 30 character limit on wallet names.
## 2.4.4 2016-06-23

@ -30,21 +30,37 @@ function unlockAccountMessage () {
}
function showUnconfirmedMessage (msgParams, msgId) {
var controllerState = controller.getState()
createMsgNotification({
title: 'New Unsigned Message',
msgParams: msgParams,
confirm: idStore.approveMessage.bind(idStore, msgId, noop),
cancel: idStore.cancelMessage.bind(idStore, msgId),
imageifyIdenticons: false,
txData: {
msgParams: msgParams,
time: (new Date()).getTime(),
},
identities: controllerState.identities,
accounts: controllerState.accounts,
onConfirm: idStore.approveMessage.bind(idStore, msgId, noop),
onCancel: idStore.cancelMessage.bind(idStore, msgId),
})
}
function showUnconfirmedTx (txParams, txData, onTxDoneCb) {
var controllerState = controller.getState()
createTxNotification({
title: 'New Unsigned Transaction',
txParams: txParams,
confirm: idStore.approveTransaction.bind(idStore, txData.id, noop),
cancel: idStore.cancelTransaction.bind(idStore, txData.id),
imageifyIdenticons: false,
txData: {
txParams: txParams,
time: (new Date()).getTime(),
},
identities: controllerState.identities,
accounts: controllerState.accounts,
onConfirm: idStore.approveTransaction.bind(idStore, txData.id, noop),
onCancel: idStore.cancelTransaction.bind(idStore, txData.id),
})
}
//

@ -53,62 +53,30 @@ function createUnlockRequestNotification (opts) {
})
}
function createTxNotification (opts) {
function createTxNotification (state) {
// guard for chrome bug https://github.com/MetaMask/metamask-plugin/issues/236
if (!chrome.notifications) return console.error('Chrome notifications API missing...')
var state = {
title: 'New Unsigned Transaction',
imageifyIdenticons: false,
txData: {
txParams: opts.txParams,
time: (new Date()).getTime(),
},
identities: {
},
accounts: {
},
onConfirm: opts.confirm,
onCancel: opts.cancel,
}
renderTxNotificationSVG(state, function(err, notificationSvgSource){
if (err) throw err
showNotification(extend(state, {
title: 'New Unsigned Transaction',
imageUrl: toSvgUri(notificationSvgSource),
}))
})
}
function createMsgNotification (opts) {
function createMsgNotification (state) {
// guard for chrome bug https://github.com/MetaMask/metamask-plugin/issues/236
if (!chrome.notifications) return console.error('Chrome notifications API missing...')
var state = {
title: 'New Unsigned Message',
imageifyIdenticons: false,
txData: {
msgParams: opts.msgParams,
time: (new Date()).getTime(),
},
identities: {
},
accounts: {
},
onConfirm: opts.confirm,
onCancel: opts.cancel,
}
renderMsgNotificationSVG(state, function(err, notificationSvgSource){
if (err) throw err
showNotification(extend(state, {
title: 'New Unsigned Message',
imageUrl: toSvgUri(notificationSvgSource),
}))
@ -154,8 +122,8 @@ function renderNotificationSVG(content, cb){
var container = document.createElement('div')
var confirmView = h('div.app-primary', {
style: {
width: '450px',
height: '300px',
width: '360px',
height: '240px',
padding: '16px',
// background: '#F7F7F7',
background: 'white',
@ -176,8 +144,13 @@ function renderNotificationSVG(content, cb){
}
function svgWrapper(content){
<<<<<<< HEAD
var wrapperSource = `
<svg xmlns="http://www.w3.org/2000/svg" width="360" height="240">
=======
var wrapperSource = `
<svg xmlns="http://www.w3.org/2000/svg" width="450" height="300">
>>>>>>> master
<foreignObject x="0" y="0" width="100%" height="100%">
<body xmlns="http://www.w3.org/1999/xhtml" height="100%">{{content}}</body>
</foreignObject>

@ -1,38 +0,0 @@
Chrome notifications allow you to show an SVG image via a data-uri
Taking advantage of this might allow us to show nicely formatted notifications
build a template using pure svg:
```svg
<svg xmlns='http://www.w3.org/2000/svg'
width='1000px' height='500px' viewBox='0 0 200 100'>
<rect x='0' y='0' width='100%' height='100%' fill='white' />
<text x='0' y='20' font-family='monospace' font-size='6' fill='black'>
<tspan x='0' dy='1.2em'>Domain: https://boardroom.to</tspan>
<tspan x='0' dy='1.2em'>From: 0xabcdef</tspan>
<tspan x='0' dy='1.2em'>To: 0xfedcba</tspan>
<tspan x='0' dy='1.2em'>Value: 1.025 Ether</tspan>
<tspan x='0' dy='1.2em'>Gas: 0.025 Ether</tspan>
</text>
</svg>
```
generate uri
`'data:image/svg+xml;charset=utf-8,'+encodeURIComponent(svgSrc)`
or svg-embedded html:
```svg
<svg xmlns="http://www.w3.org/2000/svg" width="800" height="500">
<rect x='0' y='0' width='100%' height='100%' fill='white' />
<foreignObject class="node" x="46" y="22" width="200" height="300">
<body xmlns="http://www.w3.org/1999/xhtml">
<div style="font-size: 120px">
The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs
</div>
</body>
</foreignObject>
</svg>
```

@ -145,7 +145,7 @@ AccountDetailScreen.prototype.render = function () {
style: {
margin: 10,
},
}, 'SEND ETH'),
}, 'SEND'),
]),

@ -38,7 +38,7 @@ DisclaimerScreen.prototype.render = function () {
style: {
whiteSpace: 'pre-line',
background: 'rgb(235, 235, 235)',
height: '336px',
height: '310px',
padding: '6px',
width: '80%',
overflowY: 'scroll',

Loading…
Cancel
Save