Since this will be a path in the binary that we don't want to create on
the user's system. I also removed the option to override it; it doesn't
seem like a great idea since you'd always want those builtin extensions.
This way we also don't have to check if the option was passed and only
create it if that was the case.
* Allow setting paths for builtin exts and extra dirs
The extra directories aren't used yet, just available from the
environment service and to the shared process.
* Utilize extra builtin extensions path
* Utilize extra extensions directory
* Fix cached mtimes for extra extension dirs
* Simplify extension cache equality check
* Let people know when telemetry is disabled, change url to https if secure connection
* Remove --no-auth as a http candidate
* Rename variable, change let to const
* Make all assets unique
All CSS and JavaScript files have unique names now. I also moved the
login to the /login path in order to ensure the HTML for each page is
also unique.
* Explicitly include assets to cache
* 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