diff options
author | kumavis <aaron@kumavis.me> | 2016-03-11 05:04:45 +0800 |
---|---|---|
committer | kumavis <aaron@kumavis.me> | 2016-03-11 05:04:45 +0800 |
commit | 1ffc98917d82620b33fc1d2005bf3d2d31db47cd (patch) | |
tree | 1a92c838d45381e5110d0fbf51f0ce0231cde6d0 /app | |
parent | 18c4f18c71d479038bf11f34edf3e6899246724b (diff) | |
download | tangerine-wallet-browser-1ffc98917d82620b33fc1d2005bf3d2d31db47cd.tar.gz tangerine-wallet-browser-1ffc98917d82620b33fc1d2005bf3d2d31db47cd.tar.zst tangerine-wallet-browser-1ffc98917d82620b33fc1d2005bf3d2d31db47cd.zip |
plumbing - fix rpc feedback loop bug
Diffstat (limited to 'app')
-rw-r--r-- | app/scripts/background.js | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/app/scripts/background.js b/app/scripts/background.js index 864cd04be..aa74cb921 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -2,6 +2,7 @@ const Dnode = require('dnode') const Multiplex = require('multiplex') const Through = require('through2') const eos = require('end-of-stream') +const combineStreams = require('pumpify') const extend = require('xtend') const EthStore = require('eth-store') const PortStream = require('./lib/port-stream.js') @@ -28,10 +29,6 @@ function connectRemote(remotePort){ } function handleEthRpcRequestStream(stream){ - // portStream - stream.on('data', function(data){ - console.log(data) - }) stream.on('data', onRpcRequest.bind(null, stream)) } @@ -76,7 +73,7 @@ function onRpcRequest(remoteStream, payload){ // provider engine errors are included in response objects // if (!payload.isMetamaskInternal) console.log('MetaMaskPlugin - RPC complete:', payload, '->', response) try { - remoteStream.push(response) + remoteStream.write(response) } catch (err) { console.error(err) } @@ -101,10 +98,12 @@ function handleInternalCommunication(portStream){ mx.destroy() }) var dnodeStream = mx.createSharedStream('dnode') - var providerStream = - jsonStringifyStream() - .pipe(mx.createSharedStream('provider')) - .pipe(jsonParseStream()) + var providerStream = combineStreams( + jsonStringifyStream(), + mx.createSharedStream('provider'), + jsonParseStream() + ) + linkDnode(dnodeStream) handleEthRpcRequestStream(providerStream) } |