* Update Node to 10.15.1
* Remove string replace that was used for oclif
* Update nbin
* Package node-pty and spdlog with nbin
* Label stderr/stdout from shared process
* Remove fork override
* Prevent "already disposed" errors when trying to kill disposed proxies
* Include spdlog dependencies
* Shim /node_modules
* Add node_modules to Docker ignore
It keeps using my already-built .node files which results in a
mismatching GLIBC version error.
* Update nbin
- "Open folder" now says "open folder" instead of "open file"
- "Open folder" won't allow you to open files
- "Open file" won't allow you to open directories
Fixes#249.
* Add clear error message if port is in use
* Add bold function for text/numbers
* remove unused dependency:
* remove unused line break
* Change logger message
* Use NodeJS.ErrnoException type
* Add back check for error code
* 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
- Move the old data directory if possible.
- Fix extension path to not use a hard-coded path and instead use the
data directory.
- Create every part of the path during startup.
- Create each path when a connection is made as well in case they are
deleted while the server is running.
- Create every part of the path before saving settings or writing a file
using the resource endpoint.
* Add task for packaging release
* Modify package task to package a single binary
This is so it can be used as part of the build/release script.
* Package release as part of Travis deploy
* Set platform env var
* Add arch env var
* Make version available to the code
* Use tar for Linux and zip for Mac & Windows
* Add windows support
* Improve multi-platform support
* Install with network-concurrency 1
* Use file-glob to upload windows binary
* Don't install packages in parallel if on windows
* Rename vscode-remote to code-server
* Add output at intervals so CI doesn't kill build
* Update all tasks to provide timed output
* Don't perform tasks sync otherwise we can't log
* Add trace log level
* Use active eval to implement spdlog
* Split server/client active eval interfaces
Since all properties are *not* valid on both sides
* +200% fire resistance
* Implement exec using active evaluations
* Fully implement child process streams
* Watch impl, move child_process back to explicitly adding events
Automatically forwarding all events might be the right move, but wanna
think/discuss it a bit more because it didn't come out very cleanly.
* Would you like some args with that callback?
* Implement the rest of child_process using active evals
* Rampant memory leaks
Emit "kill" to active evaluations when client disconnects in order to
kill processes. Most likely won't be the final solution.
* Resolve some minor issues with output panel
* Implement node-pty with active evals
* Provide clearTimeout to vm sandbox
* Implement socket with active evals
* Extract some callback logic
Also remove some eval interfaces, need to re-think those.
* Implement net.Server and remainder of net.Socket using active evals
* Implement dispose for active evaluations
* Use trace for express requests
* Handle sending buffers through evaluation events
* Make event logging a bit more clear
* Fix some errors due to us not actually instantiating until connect/listen
* is this a commit message?
* We can just create the evaluator in the ctor
Not sure what I was thinking.
* memory leak for you, memory leak for everyone
* it's a ternary now
* Don't dispose automatically on close or error
The code may or may not be disposable at that point.
* Handle parsing buffers on the client side as well
* Remove unused protobuf
* Remove TypedValue
* Remove unused forkProvider and test
* Improve dispose pattern for active evals
* Socket calls close after error; no need to bind both
* Improve comment
* Comment is no longer wishy washy due to explicit boolean
* Simplify check for sendHandle and options
* Replace _require with __non_webpack_require__
Webpack will then replace this with `require` which we then provide to
the vm sandbox.
* Provide path.parse
* Prevent original-fs from loading
* Start with a pid of -1
vscode immediately checks the PID to see if the debug process launch
correctly, but of course we don't get the pid synchronously.
* Pass arguments to bootstrap-fork
* Fully implement streams
Was causing errors because internally the stream would set this.writing
to true and it would never become false, so subsequent messages would
never send.
* Fix serializing errors and streams emitting errors multiple times
* Was emitting close to data
* Fix missing path for spawned processes
* Move evaluation onDispose call
Now it's accurate and runs when the active evaluation has actually
disposed.
* Fix promisifying fs.exists
* Fix some active eval callback issues
* Patch existsSync in debug adapter
* Implement net.Server
* Move Socket class into Client
This way we don't need to expose anything.
* Remove some unused imports
* Pass environment variables to bootstrap fork
* Add debug log for when socket disconnects from server
* Use VSCODE_ALLOW_IO for shared process only
* Extension host can send messages now
* Support callback for logging
This lets us do potentially expensive operations which will only be
performed if the log level is sufficiently low.
* Stop extension host from committing suicide
* Blank line
* Add static serve (#21)
* Add extension URLs
* how did i remove this
* Fix writing an empty string
* Implement dialogs on window service