1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 03:12:42 +02:00

Debounce storage to avoid crashing pump

This commit is contained in:
Dan Finlay 2018-01-25 13:01:03 -08:00
parent 2f13790653
commit ceebc6caa4
2 changed files with 9 additions and 8 deletions

View File

@ -1,6 +1,7 @@
const urlUtil = require('url')
const endOfStream = require('end-of-stream')
const pump = require('pump')
const debounce = require('debounce-stream')
const log = require('loglevel')
const extension = require('extensionizer')
const LocalStorageStore = require('obs-store/lib/localStorage')
@ -65,11 +66,7 @@ async function loadStateFromPersistence () {
log.error('error fetching state from local store:', err)
}
console.log('Comparing localdata and versionedData')
console.dir({ localData })
if (Object.keys(localData).length > 0) {
console.log('using the local store data')
versionedData = localData
}
}
@ -117,8 +114,12 @@ function setupController (initState) {
// setup state persistence
pump(
asStream(controller.store),
debounce(200),
storeTransform(versionifyData),
storeTransform(syncDataWithExtension),
(error) => {
log.error('pump hit error', error)
}
)
function versionifyData (state) {
@ -126,15 +127,14 @@ function setupController (initState) {
return versionedData
}
function syncDataWithExtension(state) {
async function syncDataWithExtension(state) {
if (localStore.isSupported) {
try {
console.log('persisting state', state)
localStore.set(state)
await localStore.set(state)
} catch (err) {
log.error('error setting state in local store:', err)
}
}
} else { log.error('local store not supported') }
return state
}

View File

@ -62,6 +62,7 @@
"clone": "^2.1.1",
"copy-to-clipboard": "^3.0.8",
"debounce": "^1.0.0",
"debounce-stream": "^2.0.0",
"deep-extend": "^0.5.0",
"detect-node": "^2.0.3",
"disc": "^1.3.2",