Commit Graph

224 Commits

Author SHA1 Message Date
Asher
ee14db20f1
Allow data: in CSP for font-src
Closes #1530.
2020-04-20 18:10:07 -05: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
974d4cb8fc
Allow specifying a workspace on the command line
Fixes #1535.
2020-04-16 11:56:46 -05:00
Asher
28e91ba70c
Fix domain issues when setting the cookie
Fixes #1507.
2020-04-13 16:14:40 -05:00
Asher
5aded14b87
Merge pull request #1453 from cdr/proxy
HTTP proxy
2020-04-08 12:44:29 -05:00
Asher
a288351ad4
Respond when proxy errors
Otherwise the request will just hang.
2020-04-08 11:54:18 -05:00
Asher
a5c35af81b
Fix encoding issues with folder and workspace params
The raw value is now passed back to VS Code so it can do the parsing
with its own URI class rather than trying to parse using Node's url
module first since that has no guarantee of working the same way. It
also lets us keep the vscode-remote bit internal to VS Code.

Removed the logic that keeps trying paths until it finds a valid one
because it seems confusing to open a path and silently get some other
path instead of an error for the one you tried to open. Now it'll just
use exactly what you specified or fail trying.

Fixes #1488. The problem here was that url.parse was encoding the spaces
then the validation failed looking for a literal %20.
2020-04-07 15:18:19 -05:00
Asher
d1445a8135
Back up code-server directory when updating 2020-04-02 16:21:48 -05:00
Asher
a5d1d3b90e
Move proxy logic into main HTTP server
This makes the code much more internally consistent (providers just
return payloads, include the proxy provider).
2020-04-02 13:40:29 -05:00
Asher
aaa6c279a1
Use Set for proxy domains 2020-04-02 13:40:28 -05:00
Asher
498becd11f
Use route.fullPath when adding trailing slash
There's no need to specially construct the path.
2020-04-02 13:40:27 -05:00
Asher
411c61fb02
Create helper for determining if route is the root 2020-04-02 13:40:26 -05:00
Asher
74a0bacdcf
Rename hxxp to isHttp 2020-04-02 13:40:25 -05:00
Asher
e7e7b0ffb7
Fix redirects through subpath proxy 2020-04-02 13:40:25 -05:00
Asher
fd339a7433
Include query parameters when proxying 2020-04-02 13:40:24 -05:00
Asher
561b6343c8
Ensure a trailing slash on subpath proxy 2020-04-02 13:40:23 -05:00
Asher
737a8f5965
Catch proxy errors
Otherwise they'll crash code-server.
2020-04-02 13:40:21 -05:00
Asher
c0dd29c591
Fix domains with ports & localhost subdomains 2020-04-02 13:40:20 -05:00
Asher
8aa5675ba2
Implement the actual proxy 2020-04-02 13:40:19 -05:00
Asher
2086648c87
Only handle exact domain matches
This simplifies the logic a bit.
2020-04-02 13:40:18 -05:00
Asher
3a98d856a5
Handle authentication with proxy
The cookie will be set for the proxy domain so it'll work for all of its
subdomains.
2020-04-02 13:40:17 -05:00
Asher
90fd1f7dd1
Add proxy provider
It'll be able to handle /proxy requests as well as subdomains.
2020-04-02 13:40:16 -05:00
Asher
77ad73d579
Set domain on cookie
This allows it to be used in subdomains.
2020-04-02 13:40:15 -05:00
Asher
13534fa0c0
Add proxy-domain flag
This will be used for proxying ports.
2020-04-02 13:40:14 -05:00
Asher
37299abcc9
Minor startup code improvements
- Add type to HTTP options.
- Fix certificate message always saying it was generated.
- Dedent output not directly related to the HTTP server.
- Remove unnecessary comma.
2020-04-02 13:40:13 -05:00
Asher
a4c0fd1fdc
Run ssh server listen after http
That way if they happen to conflict code-server doesn't crash.
2020-03-30 17:43:11 -05:00
Asher
6c104c016e
Prevent exiting when an exception is uncaught 2020-03-30 17:43:10 -05:00
Asher
599670136d
Output commit along with the version 2020-03-30 17:43:09 -05:00
Asher
ce637d318d
Add descriptions to SSH flags 2020-03-30 17:43:08 -05:00
Asher
7954656610
Set background color using VS Code theme 2020-03-27 16:58:50 -05:00
Asher
0a5687bacf
Fix crash when unable to request an update 2020-03-25 15:00:35 -05:00
Asher
216652fb31
Merge pull request #1446 from maksimr/fix-apple-touch-icon
Returns back apple touch icon
2020-03-25 14:12:44 -05:00
Asher
0f066d30b4
Add data-cfasync="false" to script tags
This prevents Cloudflare's Rocket Loader from acting on them.

Fixes #1451.
2020-03-25 14:04:36 -05:00
Asher
d1687c1533
Catch error when SSH server fails to start 2020-03-24 17:38:46 -05:00
Maksim Ryzhikov
5887c1d339 Returns back apple touch icon 2020-03-23 14:44:31 +03:00
Asher
cfebf2c67f
Removed unused CSS 2020-03-17 10:36:19 -05:00
Asher
b52fbb4cb9
Catch error when openssl isn't installed 2020-03-16 15:14:54 -05:00
Will O'Beirne
3463d56114
SSH server & endpoint 2020-03-16 15:14:53 -05:00
Asher
5f63d2b822
Fix custom socket path 2020-03-16 15:14:52 -05:00
Asher
d192726e80
Simplify dashboard 2020-03-16 15:14:50 -05:00
Asher
d832f61d5b
Make client-side extensions work at any base 2020-03-16 12:04:09 -05:00
Asher
aeb6261189
Update VS Code to 1.43.0 2020-03-13 17:42:10 -05:00
Asher
6cb228037b
Add base path to update endpoint from VS Code
This will make it work regardless of what the current URL happens to be.

Also move the telemetry setting into the options since we might as well
make use of it seeing as how we have to parse it for the base path
anyway.
2020-03-13 16:44:56 -05:00
Asher
a00fa85d77
Qualify extensions in help output as VS Code extensions
Also add a description for uninstall-extension and force.
2020-03-13 13:23:30 -05:00
Asher
57de78e12a
Add show-versions flag and add help for list-extensions
Closes #1417.
2020-03-13 13:17:59 -05:00
Asher
2342443368
Set telemetry setting based on disable-telemetry flag
By design the disable-telemetry flag does not affect extension
telemetry, only the setting does, so disabling the setting when the flag
is set should cause extensions to also stop sending telemetry.

Fixes #1116.
2020-03-13 12:36:57 -05:00
Asher
253cf1c438
Remove unnecessary return types 2020-03-11 16:06:32 -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
1f6ff2f763
Show --install-extension in help menu
Also add --force so extensions can be updated without prompts.

Closes #1392.
2020-03-05 10:42:49 -06:00
Asher
04542c99fd
Resolve passed-in directory
Makes relative paths work correctly.
2020-03-05 10:38:13 -06:00