* Update VS Code to 1.32.0
* Update patch
Most changes are moved files, most notably shell.contribution.ts which
is now main.contribution.ts.
Also:
- repl.ts no longer uses isMacintosh
- shell.ts doesn't exist
- added back the commented-out CSP headers
* Use es6 target for bootstrap-fork
* Directly reference cross-env binary
yarn and npm find the binary just fine when running the tasks from the
root but it doesn't work if you run one of those tasks directly from
within those directories.
* Update import paths and bootstrap-fork ignores
* Increase memory limit for building default extensions
* Fix invalid regex in Firefox
* Update startup function
* Fix global.require error
* Update zip extract arguments
* Update travis to minimum required Node version
* Always chmod executable dependencies
Fixes EACCESS errors for users that had the files unpacked before we
added the chmod call.
* Remove unused var declaration
* 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
* Allow setting marketplace URL
* Add zip fill
* Comment out CSP for now
* Fill zip on client as well
Probably will need it for client-side extensions.
* Don't use itemUrl (it's undefined)
* Remove extension rating
* Hide ratings with CSS instead of patching them out
* Add hard-coded fallback for service URL
* Only use coder-develop for extapi if env is explicitly development
* Don't use coder-develop at all for extapi
If you need it, you can set SERVICE_URL.
* 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
Fixed by returning the original buffer from `fs.read` and then just
using whatever encoding was passed in to iconv, so this should all work
exactly the same now as it does on native Node.
* Set platform based on server
Had to refactor a bit to ensure our values get set before VS Code tries
to use them.
* Pave the way for mnemonics on all platforms
* Fix context menus on Mac
* Fix a bunch of things on Mac including menu bar
* Set keybindings based on client's OS
Previously they'd go in still stringified so we didn't get a chance to
convert buffer objects back to buffers, for example, making things like
`fs.write` write `[object Object]` to files.
* 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
- Use whateverEmitter.event for the onWhatever methods.
- Add readonly to a bunch of things.
- Remove some redundancy in types.
- Move initializations out of the constructor and into the declarations
where it was reasonable to do so.
- Disable a few no-any violations.
Using this to skip the toggle developer tools action since there doesn't
seem to be any way to do that from the browser. There might be others we
will need to add.
* Add active evals
* Convert type of stats to date or string
* Fix generic overloads for run
* Lower evaluate timeout
* Add comment for createWriteStream
* Use ipc instead of pipe
* Run callback passed to child process's send method
* It also returns true
* Correct send signature
* Kill processes when client disconnects
* 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
* Clean up workbench and integrate initialization data
* Uncomment Electron fill
* Run server & client together
* Clean up Electron fill & patch
* Bind fs methods
This makes them usable with the promise form:
`promisify(access)(...)`.
* Add space between tag and title to browser logger
* Add typescript dep to server and default __dirname for path
* Serve web files from server
* Adjust some dev options
* Rework workbench a bit to use a class and catch unexpected errors
* No mkdirs for now, fix util fill, use bash with exec
* More fills, make general client abstract
* More fills
* Fix cp.exec
* Fix require calls in fs fill being aliased
* Create data and storage dir
* Implement fs.watch
Using exec for now.
* Implement storage database fill
* Fix os export and homedir
* Add comment to use navigator.sendBeacon
* Fix fs callbacks (some args are optional)
* Make sure data directory exists when passing it back
* Update patch
* Target es5
* More fills
* Add APIs required for bootstrap-fork to function (#15)
* Add bootstrap-fork execution
* Add createConnection
* Bundle bootstrap-fork into cli
* Remove .node directory created from spdlog
* Fix npm start
* Remove unnecessary comment
* Add webpack-hot-middleware if CLI env is not set
* Add restarting to shared process
* Fix starting with yarn
* Implements the fs module
* Add stats object
* Add not implemented to createWriteStream
* Update mkdtemp to use tmp dir
* Unexport Stats
* Add client web socket for commands and restructure