* 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
- It logs the error now.
- For some reason when there is an error node-netstat runs the callback
twice. That resulted in us scheduling an exponentially growing number
of calls which ate up all the CPU (and probably memory eventually).
For now, opted to dispose when there is an error.
- 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.
This is the critical piece to let you serve code-server proxied under a
path. Otherwise if you proxy e.g. `/editor/` thru to
`http://localhost:8000`, everything works fine except the websocket
connection is still opened to `/`
* 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.