Commit Graph

165 Commits

Author SHA1 Message Date
Anmol Sethi 197a09f0c1
plugin: Test endpoints via supertest
Unfortunately we can't use node-mocks-http to test a express.Router
that has async routes. See https://github.com/howardabrams/node-mocks-http/issues/225

router will just return undefined if the executing handler is async and
so the test will have no way to wait for it to complete. Thus, we have
to use supertest which starts an actual HTTP server in the background
and uses a HTTP client to send requests.
2020-11-06 10:13:01 -05:00
Asher 9e09c1f92b
Upgrade to Express 5
Now async routes are handled!
2020-11-05 15:08:08 -06:00
Asher 9bde62fbd6
v3.6.2 2020-11-02 17:17:25 -06:00
Asher 112eda4605
Convert routes to Express 2020-10-26 17:56:13 -05:00
Asher 62735da694
v3.6.1 2020-10-23 15:21:50 -05:00
Asher 6000e389bc
Add Express as a dep and regenerate lockfile
The Express types were throwing errors but regenerating the lockfile
resolved them.
2020-10-20 16:18:26 -05:00
Anmol Sethi 4b3c089630
Remove dead code 2020-10-07 15:58:30 -04:00
Anmol Sethi dd996d8f60
v3.6.0 2020-10-07 15:58:30 -04:00
Anmol Sethi 55a7e8b56f
Implement automatic cloud proxying 2020-10-07 15:58:30 -04:00
Anmol Sethi 579bb94a6c
Add coder cloud expose command 2020-10-07 15:58:30 -04:00
Asher ce8577b1c3
Remove open-in flag (#2013) 2020-08-27 15:04:37 -05:00
Anmol Sethi 3912e9e333
Downgrade node types to v12 2020-08-27 11:04:43 -04:00
Anmol Sethi ebbb1187da
Update remaining dependencies 2020-08-26 14:27:30 -04:00
Anmol Sethi c80d093dc4
Update dependencies in package.json
See #1898 and #1905
2020-08-26 13:59:41 -04:00
Anmol Sethi bf09c294cc
Revert "Upgrade to latest typescript"
This reverts commit 6539dd4dbe.

Breaks linting and wasn't required.
2020-08-26 13:32:50 -04:00
Anmol Sethi 6539dd4dbe
Upgrade to latest typescript
Otherwise the build keeps failing for me as tsc won't compile anymore.

Not sure why things work on CI/for asher but I don't think this will
cause any additional issues.
2020-08-26 07:50:51 -04:00
Asher e237589f2e
Update VS Code to 1.48.0 (#1982) 2020-08-25 13:06:41 -05:00
Asher 2fa5037859
Log output to disk 2020-07-29 18:48:07 -05:00
Asher 4b6c0a6fc3
Update logger 2020-07-29 18:48:03 -05:00
Anmol Sethi 48f7c27248
v3.4.1 2020-06-04 06:24:24 -04:00
Anmol Sethi c00f931500
Remove zip library dependency 2020-06-03 18:24:59 -04:00
Anmol Sethi 69ad52907e
v3.4.0 2020-05-27 19:21:15 -04:00
Anmol Sethi f71d8875d0
Rename binary release to standalone 2020-05-27 16:39:17 -04:00
Anmol Sethi fa45fd0e31
Rename static releases to binary releases
More clear as discussed in PR.
2020-05-27 15:57:18 -04:00
Anmol Sethi 5f94d5a687
Release v3.3.1
This release fixes bugs introduced with the release of v3.3.0

- We've reverted to VS Code 1.45.1 due to bugs in 1.46 #1667
- Accessing code-server from a web browser on Windows has been fixed #1642
- Search in project has been fixed #1665
- The glibc requirement on static releases has been lowered to v2.19 #1656
2020-05-18 18:11:52 -04:00
Anmol Sethi 52eeccaba1
v3.3.0 2020-05-17 18:35:36 -04:00
Anmol Sethi aee2599904
Push docker manifest in CI for multi arch image 2020-05-16 16:59:26 -04:00
Anmol Sethi d4b3d21dce
Require minimum node 12 2020-05-14 22:33:12 -04:00
Anmol Sethi 0bd2602774
3.3.0 2020-05-14 18:43:01 -04:00
Anmol Sethi a0a77e379e
Add doc/guide.md 2020-05-14 05:24:23 -04:00
Anmol Sethi f4a78587b0
Make npm-postinstall.sh more robust 2020-05-13 22:44:43 -04:00
Anmol Sethi b3ae4d67d3
Hide bundled node_modules to prevent them from being ignored 2020-05-13 04:17:34 -04:00
Anmol Sethi d30f3dbdf7
Update to rc.10 2020-05-13 02:37:25 -04:00
Anmol Sethi 1739b21600
Bundle VS Code node_modules to avoid yarn dependency
Many random bizarre issues otherwise.

Also includes misc improvements to docs and scripts.
2020-05-13 02:35:11 -04:00
Anmol Sethi c0d6eb4664
Improve password handling
- Error out if auth is enabled but no password is passed in
- Indicate password location on login page
2020-05-12 19:59:55 -04:00
Anmol Sethi 00d164b67f
Add default config file and improve config/data directory detection 2020-05-12 19:59:54 -04:00
Anmol Sethi c5179c2a06
Add support for a YAML config file 2020-05-12 19:59:53 -04:00
Anmol Sethi 169f8c67fe
Automate draft release 2020-05-11 20:59:56 -04:00
Anmol Sethi 7c7f62d3f3
Fixes for CI from @code-asher's review 2020-05-08 16:45:59 -04:00
Anmol Sethi e9fe4c0466
Document release process 2020-05-08 01:43:31 -04:00
Anmol Sethi 6282cd7e7b
Simplify packaging and improve scripts
Much better test now as well.
2020-05-08 01:04:24 -04:00
Anmol Sethi bc453b5f0d
Switch to a single job to build the npm package
The architecture specific jobs pull it in and then build releases.

Much faster!
2020-05-08 00:09:24 -04:00
Anmol Sethi be032cf735
Add NPM package, debs, rpms and refactor CI/build process
Closes many issues that I'll prune after adding more docs
for users.
2020-05-06 20:25:52 -04:00
Asher 4875f6aa87
Update VS Code to fix infinite refresh
Fixes #1581.
2020-05-05 12:33:09 -05:00
Asher 6a2662eeee
Remove node-pty
This was for the ssh server we removed.
2020-05-05 12:33:08 -05:00
Asher fd36a99a4c
Update vscode patch notes and bump version 2020-04-29 15:22:11 -05:00
Anmol Sethi 5accf3fe5f
Add basic rate limiting to login endpoint
Closes #1320
2020-04-28 14:21:08 -04:00
Anmol Sethi 181e0ea6c8
Remove ssh2 dep 2020-04-28 14:04:56 -04:00
Asher 27ba64c7e4
Improve request error handling
See #1532 for more context.

- Errored JSON requests will get back the error in JSON instead of using
  the status text. This seems better to me because it seems more correct
  to utilize the response body over hijacking the status text. The
  caller is expecting JSON anyway. Worst of all I never actually set the
  status text like I thought I did so it wasn't working to begin with.
- Allow the update error to propagate for JSON update requests. It was
  caught to show the error inline instead of an error page when using
  the update page but for JSON requests it meant there was no error and
  no error code so it looked like it succeeded.
- Make errors for failed requests to GitHub less incomprehensible.
  Previously they would just be the code which is no context at all.
2020-04-17 15:16:10 -05:00
Asher 28e91ba70c
Fix domain issues when setting the cookie
Fixes #1507.
2020-04-13 16:14:40 -05:00
Asher 8aa5675ba2
Implement the actual proxy 2020-04-02 13:40:19 -05:00
Asher 599670136d
Output commit along with the version 2020-03-30 17:43:09 -05:00
Maksim Ryzhikov 8a6faa39c9 Remove duplication in dependencies 2020-03-24 09:43:14 +03:00
Will O'Beirne 3463d56114
SSH server & endpoint 2020-03-16 15:14:53 -05:00
Asher 0b9a478289
Add connection type to websocket query parameters
This allows external services to distinguish between them.
2020-03-05 15:49:37 -06:00
Asher b5c425b3a6
Major version -> 3.0.0 2020-02-26 15:09:56 -06:00
Asher c870398c86
Switch to loose files
For #1306.
2020-02-25 18:23:35 -06:00
Anmol Sethi 5681c87e33
Fix bugs in CI 2020-02-18 19:06:35 -05:00
Anmol Sethi 1a54f6b7ef
Merge remote-tracking branch 'origin/restructure' into anmol-restructure 2020-02-18 12:52:29 -05:00
Anmol Sethi 61d1af0413
Add macOS release step 2020-02-14 21:16:23 -05:00
Anmol Sethi 4aa15401c3
Format and lint 2020-02-14 20:00:19 -05:00
Anmol Sethi 80b1b1b672
Shake CI and docs up 2020-02-14 19:46:17 -05:00
Asher db54f78e8e
Implement automatic updates 2020-02-14 15:58:39 -06:00
Asher b8fa7da972
Simplify frontend
Just a login form and a list of applications. No modals or anything like
that.
2020-02-13 20:10:14 -06:00
Asher 8cc11d1688
Improve routing 2020-02-05 13:07:07 -06:00
Asher b30aefcfb1
Add linting steps and improve testing steps 2020-02-04 15:42:55 -06:00
Asher b29346ecdf
Implement new structure 2020-02-04 14:31:44 -06:00
Asher 62f050fda7
Add a simple test 2020-01-15 13:22:45 -06:00
Asher 3f2240ab65
Update logger 2020-01-08 16:30:34 -06:00
Asher 6a1dcab7a6
Update nbin
Should finally be able to build with Node v12 now.
2020-01-07 18:27:28 -06:00
Asher af71203955
Fix relaunching during an update 2019-11-01 10:51:23 -05:00
Asher 4cd2f2cd52
Simplify build and development steps 2019-10-18 19:10:55 -05:00
Asher 88cef85f62
Add dependencies required for running build script
They were getting pulled from VS Code which doesn't work if you are
running a build in a clean repo.
2019-10-18 18:40:10 -05:00
Asher bdd11f741b
Update to 1.39.2
Also too the opportunity to rewrite the build script since there was a
change in the build steps (mainly how the product JSON is inserted) and
to get the build changes out of the patch. It also no longer relies on
external caching (we'll want to do this within CI instead).
2019-10-18 18:20:02 -05:00
Asher 1c50b5285e
Resolve bundling issues with node-browser 2019-10-10 15:36:56 -05:00
Asher 4290cffe3b
Update packages for in-browser extensions 2019-10-07 11:59:09 -05:00
Asher 548d095611
Add support for running extensions in the browser 2019-10-04 18:14:19 -05:00
Asher ef069d9b0e
Update nbin
The latest version contains a fix for passing null options when reading
a file. Fixes #544.
2019-09-16 18:04:41 -05:00
Asher f8635a124f
Add tar endpoint
This will be used to load extensions into the browser using requirefs.
2019-09-12 12:17:16 -05:00
Asher 976a326f47
Update nbin 2019-08-30 17:45:11 -05:00
Asher 45ad7f020a
Update logger 2019-08-13 12:03:08 -05:00
Asher 2807ce495e
Add tar-stream dependency
It's no longer included by the remote dependencies.
2019-08-09 19:23:44 -05:00
Asher 712274d912
Groundwork for language support
- Implement the localization service.
- Use the proper build process which generates the require JSON files.
- Implement getting the locale and language configuration.
2019-08-02 19:29:00 -05:00
Asher 12af311ce7
Use our logger instead of raw console.log 2019-07-31 17:22:16 -05:00
Asher 97167e75ff
Add authentication 2019-07-18 18:09:11 -05:00
Asher 2b2aa9a211
Add https server 2019-07-18 18:09:09 -05:00
Asher 54ffd1d351
Make extension sidebar work 2019-07-18 18:08:36 -05:00
Asher 5677ff2edf
Add build scripts 2019-07-18 18:08:27 -05:00
Asher 770e0db7b8
Add cli arguments 2019-07-18 18:08:25 -05:00
Asher 57a8186e88
Add development steps 2019-07-18 18:08:20 -05:00
Anmol Sethi bb5836ec61
Rename codercom/code-server to cdr/code-server 2019-05-02 11:25:50 -04:00
Luca Casonato 22b485acd9 Added serviceworker and web-manifest (#154)
* 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
2019-04-16 15:44:57 -05:00
Asher aabb2ecda7
Update node to 10.15.1 (#472)
* 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
2019-04-15 19:48:12 -05:00
Kyle Carberry dcf409aecb Improve CI caching (#416)
* 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
2019-04-03 14:24:00 -05:00
Anmol Sethi 97f5b07003 Fix icons on safari when using cookie authentication (#398)
Cookie's are not sent with url's in -webkit-mask so we
embed the svg's directly in the css.
2019-04-01 15:20:39 -05:00
Asher dc2253e718 Refactor evaluations (#285)
* 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
2019-03-26 13:01:25 -05:00
Asher e1dc6967ed
Fix trash 2019-03-12 14:04:17 -05:00
Asher 8d37442e0c
Move cross-env dep to the root
Multiple packages use it.
2019-02-28 18:43:47 -06:00
Kyle Carberry e8174095ca
Add windows support (#41)
* 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
2019-02-28 14:04:19 -06:00
Asher eaea947318
Fix spdlog and node-pty in binary 2019-02-25 15:18:44 -06:00