Commit Graph

2749 Commits

Author SHA1 Message Date
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
Anmol Sethi c7753f2cf9
Update docker one liner to forward UID/GID
Closes #1425
2020-04-16 14:57:41 -04:00
Asher 974d4cb8fc
Allow specifying a workspace on the command line
Fixes #1535.
2020-04-16 11:56:46 -05:00
Charles Moog 29b6115c77
Adds dev container and docs (#1499) 2020-04-14 17:22:52 -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 3b39482420
Document workspace and folder behavior
Also fixed a type issue.
2020-04-07 17:49:50 -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
Charles Moog b78bdaf46e
Merge pull request #1496 from cdr/report-issue-url
Send report issues to code-server repo
2020-04-06 17:29:53 -05:00
cmoog aefef5b0e8
Send report issues to code-server repo 2020-04-06 22:23:14 +00:00
Abin Simon ca998240a0
Fix typo in FAQ (#1489) 2020-04-03 13:09:32 -05:00
Asher d2a31477c7
Merge pull request #1486 from cdr/update-backup
Back up old directory when updating
2020-04-02 17:28:27 -05:00
Asher 9c6581273e
Show proper error when an update fails 2020-04-02 17:20:25 -05:00
Asher d1445a8135
Back up code-server directory when updating 2020-04-02 16:21:48 -05:00
Asher 5fc00acc39
Fix incorrect reporting that an update failed 2020-04-02 14:48:15 -05:00
Asher 363cdd02df
Improve proxy documentation 2020-04-02 13:40:30 -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 e68d72c4d6
Add documentation for proxying 2020-04-02 13:40:22 -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 e480f6527e
Update VS Code to 1.43.2 2020-04-01 15:27:28 -05:00
Asher 26584f2060
Strip protocol from remote authority
In Google cloud shell the host header is 127.0.0.1:8080 instead of the
actual URL. This is what we write out to the HTML so VS Code can pick it
up. However cloud shell rewrites this string when found in the HTML
before serving it so it becomes https://8080-[...].appspot.com,
resulting in an extra unexpected https:// in the
URI (vscode-remote://https://8080[...]). The resulting malformed URI
causes the extension host to exit.

- Fixes #1471
- Fixes #1468
- Fixes #1440 (most likely).
2020-04-01 13:41:05 -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
Anmol Sethi d8654b5a19
Merge pull request #1460 from mjgallag/peg-yarn-version
Peg yarn version to ensure deterministic builds
2020-03-30 01:52:14 -04:00
Michael Gallagher 12c3ccd6c7
Peg yarn version to ensure deterministic builds
"Yarn is fully deterministic as long as all your teammates are using the same Yarn version." (https://classic.yarnpkg.com/blog/2017/05/31/determinism/)
2020-03-28 14:29:04 -07:00
Asher 7954656610
Set background color using VS Code theme 2020-03-27 16:58:50 -05:00
Asher 87ebf03eb7
Skip vscode dependencies for test phase
They aren't used so we can skip them.
2020-03-27 13:40:42 -05:00
Asher df1c34e291
Overwrite GitHub releases again
I was under the impression this was causing existing releases to become
drafts again but that happens without this flag.
2020-03-27 12:03:01 -05:00
Asher 4a65b58772
Fix arm builds 2020-03-27 12:02:56 -05:00
Asher 11fdb8854b
Skip unused dependencies 2020-03-26 15:12:17 -05:00
Asher 0a92bb1607
Fix node version mismatch 2020-03-26 13:54:41 -05:00
Asher 5bac2cbdb8
Add build test 2020-03-26 13:54:40 -05:00