@@ -321,60 +321,63 @@ export default class ImportKeys extends Component {
genesis_filter_finished: true, genesis_filtering: false })
return
}
- genesis_filter.init(()=> {
- var filter_status = this.state.genesis_filter_status
-
- // FF < version 41 does not support worker threads internals (like blob urls)
- // var GenesisFilterWorker = require("worker!workers/GenesisFilterWorker")
- // var worker = new GenesisFilterWorker
- // worker.postMessage({
- // account_keys: unfiltered_account_keys,
- // bloom_filter: genesis_filter.bloom_filter
- // })
- // worker.onmessage = event => { try {
- // var { status, account_keys } = event.data
- // // ...
- // } catch( e ) { console.error('GenesisFilterWorker', e) }}
-
- var account_keys = unfiltered_account_keys
- genesis_filter.filter( account_keys, status => {
- console.log("import filter", status)
- if( status.error === "missing_public_keys" ) {
- console.error("un-released format, just for testing")
- update_state({ password_checksum, account_keys: unfiltered_account_keys,
- genesis_filter_finished: true, genesis_filtering: false })
- return
- }
- if( status.success ) {
- // var { account_keys } = event.data // if using worker thread
- update_state({ password_checksum, account_keys,
- genesis_filter_finished: true, genesis_filtering: false })
- return
- }
- if( status.initalizing !== undefined ) {
- update_state({ genesis_filter_initalizing: status.initalizing, genesis_filtering: true })
- return
- }
- if( status.importing === undefined ) {
- // programmer error
- console.error('unknown status', status)
- return
- }
- if( ! filter_status.length )
- // first account
- filter_status.push( status )
- else {
- var last_account_name = filter_status[filter_status.length - 1].account_name
- if( last_account_name === status.account_name )
- // update same account
- filter_status[filter_status.length - 1] = status
- else
- // new account
+ this.setState({ genesis_filter_initalizing: true }, ()=>// setTimeout(()=>
+ genesis_filter.init(()=> {
+ var filter_status = this.state.genesis_filter_status
+
+ // FF < version 41 does not support worker threads internals (like blob urls)
+ // var GenesisFilterWorker = require("worker!workers/GenesisFilterWorker")
+ // var worker = new GenesisFilterWorker
+ // worker.postMessage({
+ // account_keys: unfiltered_account_keys,
+ // bloom_filter: genesis_filter.bloom_filter
+ // })
+ // worker.onmessage = event => { try {
+ // var { status, account_keys } = event.data
+ // // ...
+ // } catch( e ) { console.error('GenesisFilterWorker', e) }}
+
+ var account_keys = unfiltered_account_keys
+ genesis_filter.filter( account_keys, status => {
+ console.log("import filter", status)
+ if( status.error === "missing_public_keys" ) {
+ console.error("un-released format, just for testing")
+ update_state({ password_checksum, account_keys: unfiltered_account_keys,
+ genesis_filter_finished: true, genesis_filtering: false })
+ return
+ }
+ if( status.success ) {
+ // var { account_keys } = event.data // if using worker thread
+ update_state({ password_checksum, account_keys,
+ genesis_filter_finished: true, genesis_filtering: false })
+ return
+ }
+ if( status.initalizing !== undefined ) {
+ update_state({ genesis_filter_initalizing: status.initalizing, genesis_filtering: true })
+ return
+ }
+ if( status.importing === undefined ) {
+ // programmer error
+ console.error('unknown status', status)
+ return
+ }
+ if( ! filter_status.length )
+ // first account
filter_status.push( status )
- }
- update_state({ genesis_filter_status: filter_status })
+ else {
+ var last_account_name = filter_status[filter_status.length - 1].account_name
+ if( last_account_name === status.account_name )
+ // update same account
+ filter_status[filter_status.length - 1] = status
+ else
+ // new account
+ filter_status.push( status )
+ }
+ update_state({ genesis_filter_status: filter_status })
+ })
})
- })
+ //, 100)
+ )
}
/**