* Implement write/read buffers in electron fill
This makes cutting and copy files from the file tree work.
* Implement fs.createReadStream
This is used by the file tree to copy files.
* Allow passing proxies back from client to server
This makes things like piping streams possible.
* Synchronously bind to proxy events
This eliminates any chance whatsoever of missing events due to binding
too late.
* Make it possible to bind some events on demand
* Add some protocol documentation
* Convert fully to protobuf (was partially JSON)
* Handle all floating promises
* Remove stringified proto from trace logging
It wasn't proving to be very useful.
* Replace evaluations with proxies and messages
* Return proxies synchronously
Otherwise events can be lost.
* Ensure events cannot be missed
* Refactor remaining fills
* Use more up-to-date version of util
For callbackify.
* Wait for dispose to come back before removing
This prevents issues with the "done" event not always being the last
event fired. For example a socket might close and then end, but only
if the caller called end.
* Remove old node-pty tests
* Fix emitting events twice on duplex streams
* Preserve environment when spawning processes
* Throw a better error if the proxy doesn't exist
* Remove rimraf dependency from ide
* Update net.Server.listening
* Use exit event instead of killed
Doesn't look like killed is even a thing.
* Add response timeout to server
* Fix trash
* Require node-pty & spdlog after they get unpackaged
This fixes an error when running in the binary.
* Fix errors in down emitter preventing reconnecting
* Fix disposing proxies when nothing listens to "error" event
* Refactor event tests to use jest.fn()
* Reject proxy call when disconnected
Otherwise it'll wait for the timeout which is a waste of time since we
already know the connection is dead.
* Use nbin for binary packaging
* Remove additional module requires
* Attempt to remove require for local bootstrap-fork
* Externalize fsevents