* 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
* 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
* Added serviceworker and manifest.json
* added deps in package.json
* fixed image link
* actually fixed images i think
* added assets to individual module folders
* added caching
* Serviceworker now properly loads
* Changed single to double quotes
* Update lock
* moved the service worker back into prod only
* removed sw from general
* changed background color of splash screen
* added logo to server
* centralized logo into single assets folder
* 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
* Update VS Code to 1.33.0
* Fix slow file tree
* Fix WindowsService fill
* Provide `off` on event listeners
* Fix webview
* Fix double title bar and missing preferences on Mac
* Bump VS Code version in Travis config
* Fix black dialog text (again)
* Fix shared process not starting
* Adjust linux distro to ubuntu 14.04
* Cache lib directory for speedy builds
* Fix path linking for default extensions
* Update reset
* Reset to head
* Improve caching
* Still run yarn in CI
* Update yarn before install
* Increase cache timeout
* Install vscode from vstar
* Undo data-dir changes to CLI, add back clean, remove unused CI func
* Remove additional flags added
* Remove unused dependency
* Reset vscode install dir so patching always works
Registering returns an instance that lets you retry and recover without
needing to keep passing the name everywhere.
Also refactored the shared process a little to make better use of the
retry and downgraded stderr messages to warnings because they aren't
critical.
* Make proxies decide how to handle disconnects
* Connect to a new terminal instance on disconnect
* Use our retry for the watcher
* Specify method when proxy doesn't exist
* Don't error when closing/killing disconnected proxy
* Specify proxy ID when a method doesn't exist
* Use our retry for the searcher
Also dispose some things for the watcher because it doesn't seem that
was done properly.
The searcher also now starts immediately so there won't be lag when you
perform your first search.
* Use our retry for the extension host
* Emit error in parent proxy class
Reduces duplicate code. Not all items are "supposed" to have an error
event according to the original implementation we are filling, but there
is no reason why we can't emit our own events (and are already doing so
for the "disconnected" event anyway).
* Reconnect spdlog
* Add error message when shared process disconnects
* Pass method resolve to parse
* Don't pass method to getProxy
It doesn't tell you anything that trace logging wouldn't and has
no relation to what the function actually does.
* Fix infinite recursion when disposing protocol client in tests
* 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
There is a window between when the stat is made and the result makes it
back to the client where a file is created or deleted and it won't be a
part of that stat.
To fix it, I added a new property signaling that we got some changes
since starting the stat and should run the stat again because we have no
way of knowing whether the currently running stat will include the new
changes or not.
* 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