diff options
author | Alexander Tseung <alextsg@gmail.com> | 2018-04-06 14:17:22 +0800 |
---|---|---|
committer | Alexander Tseung <alextsg@gmail.com> | 2018-04-06 14:17:22 +0800 |
commit | 4c15c0d3baa15638d75aa5e1a8f336e515d35f95 (patch) | |
tree | 2cdb6ea7faaf39bb577986d62fc2b17bef586def /app/scripts/background.js | |
parent | 2db55cd0de31abacf2d00eba76505fa6b880928d (diff) | |
parent | 77486a23654a7709091f99bc7ef76d894a46113a (diff) | |
download | tangerine-wallet-browser-4c15c0d3baa15638d75aa5e1a8f336e515d35f95.tar.gz tangerine-wallet-browser-4c15c0d3baa15638d75aa5e1a8f336e515d35f95.tar.zst tangerine-wallet-browser-4c15c0d3baa15638d75aa5e1a8f336e515d35f95.zip |
Merge branch 'master' of https://github.com/MetaMask/metamask-extension into cb-254
Diffstat (limited to 'app/scripts/background.js')
-rw-r--r-- | app/scripts/background.js | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/app/scripts/background.js b/app/scripts/background.js index 3ad0a7863..ec586f642 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -20,6 +20,7 @@ const reportFailedTxToSentry = require('./lib/reportFailedTxToSentry') const setupMetamaskMeshMetrics = require('./lib/setupMetamaskMeshMetrics') const EdgeEncryptor = require('./edge-encryptor') const getFirstPreferredLangCode = require('./lib/get-first-preferred-lang-code') +const getObjStructure = require('./lib/getObjStructure') const STORAGE_KEY = 'metamask-config' const METAMASK_DEBUG = process.env.METAMASK_DEBUG @@ -77,6 +78,16 @@ async function loadStateFromPersistence () { diskStore.getState() || migrator.generateInitialState(firstTimeState) + // report migration errors to sentry + migrator.on('error', (err) => { + // get vault structure without secrets + const vaultStructure = getObjStructure(versionedData) + raven.captureException(err, { + // "extra" key is required by Sentry + extra: { vaultStructure }, + }) + }) + // migrate data versionedData = await migrator.migrateData(versionedData) if (!versionedData) { @@ -84,7 +95,14 @@ async function loadStateFromPersistence () { } // write to disk - if (localStore.isSupported) localStore.set(versionedData) + if (localStore.isSupported) { + localStore.set(versionedData) + } else { + // throw in setTimeout so as to not block boot + setTimeout(() => { + throw new Error('MetaMask - Localstore not supported') + }) + } // return just the data return versionedData.data |