aboutsummaryrefslogtreecommitdiffstats
path: root/mascara/src/ui.js
diff options
context:
space:
mode:
Diffstat (limited to 'mascara/src/ui.js')
-rw-r--r--mascara/src/ui.js49
1 files changed, 37 insertions, 12 deletions
diff --git a/mascara/src/ui.js b/mascara/src/ui.js
index 2873017cb..b272a2e06 100644
--- a/mascara/src/ui.js
+++ b/mascara/src/ui.js
@@ -2,8 +2,6 @@ const injectCss = require('inject-css')
const SWcontroller = require('client-sw-ready-event/lib/sw-client.js')
const SwStream = require('sw-stream/lib/sw-stream.js')
const MetaMaskUiCss = require('../../ui/css')
-const setupIframe = require('./lib/setup-iframe.js')
-const MetamaskInpageProvider = require('../../app/scripts/lib/inpage-provider.js')
const MetamascaraPlatform = require('../../app/scripts/platforms/window')
const startPopup = require('../../app/scripts/popup-core')
@@ -17,28 +15,55 @@ const container = document.getElementById('app-content')
var name = 'popup'
window.METAMASK_UI_TYPE = name
+window.METAMASK_PLATFORM_TYPE = 'mascara'
-let intervalDelay = Math.floor(Math.random() * (30000 - 1000)) + 1000
+const intervalDelay = Math.floor(Math.random() * (30000 - 1000)) + 1000
const background = new SWcontroller({
fileName: '/background.js',
letBeIdle: false,
intervalDelay,
- wakeUpInterval: 30000
+ wakeUpInterval: 20000,
})
// Setup listener for when the service worker is read
-background.on('ready', (readSw) => {
- let connectionStream = SwStream({
+const connectApp = function (readSw) {
+ const connectionStream = SwStream({
serviceWorker: background.controller,
context: name,
})
- startPopup({container, connectionStream}, (err, store) => {
- if (err) return displayCriticalError(err)
- store.subscribe(() => {
- const state = store.getState()
- if (state.appState.shouldClose) window.close()
+ return new Promise((resolve, reject) => {
+ startPopup({ container, connectionStream }, (err, store) => {
+ console.log('hello from MetaMascara ui!')
+ if (err) reject(err)
+ store.subscribe(() => {
+ const state = store.getState()
+ if (state.appState.shouldClose) window.close()
+ })
+ resolve()
})
})
+}
+background.on('ready', async (sw) => {
+ try {
+ background.removeListener('updatefound', connectApp)
+ await timeout(1000)
+ await connectApp(sw)
+ console.log('hello from cb ready event!')
+ } catch (e) {
+ console.error(e)
+ }
})
+background.on('updatefound', windowReload)
+
background.startWorker()
-console.log('hello from MetaMascara ui!')
+
+function windowReload () {
+ if (window.METAMASK_SKIP_RELOAD) return
+ window.location.reload()
+}
+
+function timeout (time) {
+ return new Promise((resolve) => {
+ setTimeout(resolve, time || 1500)
+ })
+}