Commit Graph

687 Commits

Author SHA1 Message Date
Anmol Sethi f169e3ac66
pathProxy.ts: Implement --proxy-path-passthrough
Closes #2222
2021-01-20 02:06:43 -05:00
Anmol Sethi d234ddc1e1
vscode.ts: Fix close current folder
Fixes VscodeProvider to correctly obey the ew parameter.

Based on changes by @rdbeach. See the previous commit.
2021-01-18 11:29:18 -05:00
Robert Beach 28c7340608
Fix Close Folder/Workspace (#2532)
When you choose to close the current folder, it doesn't close properly
because the lastVisiited setting is still use. This fixes that.
2021-01-18 11:28:29 -05:00
Anmol Sethi f15580b28a
favicon: Add dark mode support
Closes #2538

Works as expected on latest Firefox and Chromium.
2021-01-11 12:54:25 -05:00
Anmol Sethi 693fdbefb4
browser: Add favicon.afdesign
It requires git-lfs to pull down if you want to adjust the favicon and
also the affinity designer software available only on Windows and Mac.

Might be a good idea to switch to Figma at some point and commit a
.fig file.
2021-01-08 23:03:34 -05:00
Asher f763319bc3
Merge pull request #2160 from cdr/github-auth
Fix GitHub auth
2020-12-18 10:54:51 -08:00
Anmol Sethi cb446666fa
Merge pull request #2487 from cdr/proxy-docs-86d4
proxy-agent: Use proxy-from-env and add docs
2020-12-18 13:06:47 -05:00
Asher 5f7f7f1a92
Simplify query concatenation in URL callback
Cases in URLs like ?&a=b or ?a=b& appear to be handled just fine.
2020-12-18 11:31:25 -06:00
Asher d14c2e5bb7
Swap negative check for positive check 2020-12-18 11:21:06 -06:00
Anmol Sethi 60c270aef5
cli: hashedPassword -> hashed-password (#2454)
Capital letters in the CLI are evil.

cc @code-asher
2020-12-18 12:20:38 -05:00
Anmol Sethi ae902b9dd1
proxy_agent: Use proxy-from-env for robustness
Now we support pretty much every variable under the sun along with
$NO_PROXY all correctly and with minimal code on our end.
2020-12-18 11:10:07 -05:00
Anmol Sethi 94b4ba131e
proxy_agent: Implement $HTTPS_PROXY
Just convention, see https://golang.org/pkg/net/http/#ProxyFromEnvironment
2020-12-18 10:39:31 -05:00
Anmol Sethi ecb4d07364
proxy_agent: Improve documentation 2020-12-18 10:38:46 -05:00
Anmol Sethi 3efd515cdf
proxy_agent: Fix very embarrassing mistake 2020-12-18 04:24:27 -05:00
Asher 58c1be57fa
Implement callback endpoints
VS Code uses these during the authentication flow.
2020-12-17 15:49:36 -06:00
Asher f8b782bd68
Move ignore-last-opened to ipc.d.ts
This is so it can be used in VS Code. Don't tell anyone but I forgot to
run `yarn ci`.
2020-12-15 11:14:21 -06:00
Joe Previte cc584f86b9
Merge pull request #2435 from cdr/issue-2328-customize-go-home
cli: add --home flag to customize "Go Home" button
2020-12-15 09:52:39 -07:00
JammSpread f4ca41329a
Add --ignore-last-opened option (#2434)
This allows bypassing the last opened behavior for certain cases where that's not desirable.

Fixes #1951
2020-12-15 10:22:58 -06:00
Joe Previte 8daba6ca80
feat: add home as a cli option 2020-12-14 16:23:35 -07:00
Anmol Sethi 244afa402e
routes: Redirect from /login when auth is disabled (#2456)
Sometimes I start with auth but then disable. Now I can just reload the
login page in my browser to be greeted with code-server.
2020-12-14 12:33:36 -05:00
Anmol Sethi affb92f281
cli: Show beta flags in help output
Looks like

```
   -r --reuse-window         Force to open a file or folder in an already opened window.
 -vvv --verbose              Enable verbose logging.
      --link                 (beta) Securely bind code-server via Coder Cloud with the passed name. You'll get a URL like
                             https://myname.coder-cloud.com at which you can easily access your code-server instance.
                             Authorization is done via GitHub.
```

Based on commits by @JammSpread in #2405

Closes #2396
2020-12-08 19:00:33 -05:00
Anmol Sethi 6c693000eb
Merge pull request #2405 from JammSpread/master
Modify --link arg and README (Cdr Cloud)
2020-12-08 18:30:34 -05:00
SPGoding 1dd7e4b4e1
Add hashedPassword config (#2409)
Resolve #2225.
2020-12-08 14:54:17 -06:00
JK 4d295e3195 Modify link arg and its desc to not be beta 2020-12-05 01:23:48 +00:00
Anmol Sethi eb4864f9a5
Merge pull request #2400 from cdr/HTTP_PROXY-7e1f
Use proxy-agent to support $HTTP_PROXY
2020-12-04 16:12:45 -05:00
Anmol Sethi 58bbf2584a
proxy_agent.ts: Document why there is no $HTTPS_PROXY support 2020-12-04 13:52:52 -05:00
Anmol Sethi a021bf5d35
Fix CI 2020-12-04 13:52:52 -05:00
Anmol Sethi 6738cff544
media: Improve icon size (#2401)
See https://github.com/cdr/code-server/pull/2383#issuecomment-738024951
2020-12-04 11:31:45 -05:00
Anmol Sethi a72c642125
proxy_agent.ts: Document that no other code passes in explicit agent
From my inspection as of this date anyway.
2020-12-04 02:34:43 -05:00
Anmol Sethi 691d44d4a8
Use proxy-agent to support $HTTP_PROXY
Closes #124

This works by monkey patching the http and https modules's default agent
at runtime to the one given by the proxy-agent package.
2020-12-04 02:34:43 -05:00
Anmol Sethi cee88ad637
update.ts: Fix response memory leak 2020-12-04 02:34:43 -05:00
Anmol Sethi 67470f0254
node: coder-cloud -> coder_cloud
File names should not have dashes.
2020-12-04 02:34:43 -05:00
JK 04357ddd88 Remove logs mentioning --link being beta 2020-12-04 01:50:47 +00:00
JK 0d53441950 Add "disabled by --link" note to certificate arg 2020-12-04 01:45:20 +00:00
Anmol Sethi 7e1bb8fc96
browser: Fix HTML formatting 2020-11-30 19:16:00 -05:00
Anmol Sethi ebe4d7ef29
Revamp icons (#2383)
I took our website's SVG favicon and plopped it on a round
white rectangle in Affinity Designer. The I exported it as an SVG and
wrote a script that uses imagemagick to convert to the various sizes and
formats we need.

Closes #2307
2020-11-30 19:11:26 -05:00
Anmol Sethi cc18175ce3
cli: Add --disable-update-check flag
Closes #2361
2020-11-30 15:30:06 -05:00
Anmol Sethi be37821ab9
update.ts: Simplify comparison 2020-11-24 12:42:26 -05:00
Anmol Sethi fb63c0cd22
vscode: Show notification when upgrade is available
And link to the release notes.
2020-11-24 12:13:21 -05:00
Asher fb835838db
Remove semver-umd link
This is included in the bundle now.
2020-11-20 15:35:18 -06:00
Anmol Sethi b540737b10
Merge pull request #2339 from cdr/ios-input-3cf7
login.css: Disable webkit appearance for input elements
2020-11-19 11:31:07 -05:00
Asher 4380356e0c
Merge pull request #2334 from cdr/wrappers
Separate process wrappers and pass arguments
2020-11-19 10:28:54 -06:00
Asher 72caafe8b0
Fix service worker not loading (#2335)
I removed this under the impression the default was to allow it anywhere
but that's not the case. Since the service worker was already registered
in my browser I never got the error during testing.
2020-11-19 10:18:15 -06:00
Anmol Sethi 2dc7863ec3
login.css: Disable webkit appearance for input elements
Not sure why Safari does these things...

Closes #2247
2020-11-19 10:43:26 -05:00
Anmol Sethi 30100caf0c
Revert "login.css: Fix button styling on iOS"
This reverts commit f79bb210ec.
2020-11-19 10:41:37 -05:00
Jacky f79bb210ec
login.css: Fix button styling on iOS 2020-11-19 10:37:51 -05:00
Asher 182791319a
Fix tar authentication
It was checking the request path but for tars the path is in the query
variable so the request path is irrelevant.
2020-11-18 17:15:53 -06:00
Asher 95ef6dbf2f
Remove unused wrapper options
Also move our memory default to the beginning of NODE_OPTIONS so it can
be overidden. The version of the flag with dashes seems to be the more
correct one now so use that instead of underscores.

Related: #2113.
2020-11-18 13:23:06 -06:00
Asher 016daf2fdd
Parse arguments once
Fixes #2316.
2020-11-18 13:01:46 -06:00
Asher 247c4ec776
Move onMessage so it can be used in the wrappers 2020-11-18 12:28:43 -06:00
Asher d55e06936b
Split child and parent wrappers
I think having them combined and relying on if statements was getting
confusing especially if we want to add additional messages with
different payloads (which will soon be the case).
2020-11-18 12:28:42 -06:00
Asher 2a3608df53
Skip heartbeat on /healthz endpoint (#2333)
I managed to lose this in the rewrite.

Fixes #2327.
2020-11-18 12:19:08 -06:00
piousdeer c6062c3d0a
Fix log message (#2331) 2020-11-18 10:41:32 -06:00
Anmol Sethi 9917da068a
v3.7.0 2020-11-16 11:11:50 -05:00
Anmol Sethi 40a7c11ce3
node/routes: Fix error handling
We should always send HTML if the user agent expects it.

If they do not, they should clearly indicate such via the Accept header.

Closes #2297
2020-11-13 18:44:28 -05:00
Asher 6f14b8b8dd
Add separate handler for error
Feels like it parallels better with the other handlers.
2020-11-12 12:07:45 -06:00
Asher b73ea2fea2
Unbind message handler itself after getting message
Also switch `once` to `on` since we `off` them later anyway so no point
in making Node do it twice.
2020-11-12 12:03:28 -06:00
Asher e1702a1d21
Merge branch master into code-asher/ch1385 2020-11-12 11:52:02 -06:00
Asher 5499a3d125
Use baseUrl when redirecting from domain proxy
This will make the route more robust since it'll work under more than
just the root.
2020-11-12 11:23:52 -06:00
Asher 31b67062b0
Remove <type> from onMessage
Turns out that while Typescript can't infer the callback return type
from it, Typescript can do the opposite and infer it from the callback
return type.
2020-11-12 11:17:45 -06:00
Asher 72931edcf0
Fix cleanup after getting message from vscode 2020-11-12 11:16:21 -06:00
Asher 79478eb89f
Clarify some points around the cookie domain
Also add a check that the domain has a dot. This covers the localhost
case as well, so remove that.
2020-11-10 18:53:38 -06:00
Asher 4574593664
Refactor vscode init to use async
Hopefully is a bit easier to read.
2020-11-10 18:21:20 -06:00
Asher 71850e312b
Avoid setting ?to=/
That's the default so it's extra visual noise.
2020-11-10 18:14:18 -06:00
Asher b8340a2ae9
Close sockets correctly 2020-11-10 17:55:04 -06:00
Asher f706039a9d
Re-add TLS socket proxy 2020-11-10 17:55:03 -06:00
Asher de4949571c
Document getFirstPath better 2020-11-10 17:02:39 -06:00
Asher 0a01338edd
Deduplicate child process message dance 2020-11-10 16:36:46 -06:00
Anmol Sethi fe399ff0fe
Fix formatting 2020-11-06 14:47:08 -05:00
Anmol Sethi 277211c4ce
plugin: Make init and applications callbacks optional 2020-11-06 14:47:08 -05:00
Anmol Sethi 9453f891df
plugin.ts: Fix usage of routerPath in mount 2020-11-06 10:13:01 -05:00
Anmol Sethi 14f408a837
plugin: Plugin modules now export a single top level identifier
Makes typing much easier. Addresse's Will's last comment.
2020-11-06 10:13:01 -05:00
Anmol Sethi 8a8159c683
plugin: More review fixes
Next commit will address Will's comments about the typings being weird.
2020-11-06 10:13:01 -05:00
Anmol Sethi 706bc23f04
plugin: Fixes for CI 2020-11-06 10:13:01 -05:00
Anmol Sethi af73b96313
routes/apps.ts: Add example output 2020-11-06 10:12:47 -05:00
Anmol Sethi 2a13d003d3
plugin.ts: Add homepageURL to plugin and application 2020-11-06 10:12:47 -05:00
Anmol Sethi 687094802e
plugin.ts: Make application endpoint paths absolute 2020-11-06 10:12:46 -05:00
Anmol Sethi 139a28e0ea
plugin.ts: Describe private counterpart functions
Addresses Will's comments.
2020-11-06 10:12:46 -05:00
Anmol Sethi e03bbe3149
routes/apps.ts: Implement /api/applications endpoint 2020-11-06 10:12:46 -05:00
Anmol Sethi afff86ae9c
plugin.ts: Adjust to implement pluginapi.d.ts correctly 2020-11-06 10:12:46 -05:00
Anmol Sethi fed545e67d
plugin.d.ts -> pluginapi.d.ts
More clear.
2020-11-06 10:12:46 -05:00
Anmol Sethi 8d3a7721fe
plugin.d.ts: Document plugin priority correctly 2020-11-06 10:12:46 -05:00
Anmol Sethi 75e52a3774
plugin.ts: Fixes for @code-asher 2020-11-06 10:12:46 -05:00
Anmol Sethi f4d7f00033
plugin.ts: Fixes for @wbobeirne 2020-11-06 10:12:46 -05:00
Anmol Sethi 30d2962e21
src/node/plugin.ts: Warn on duplicate plugin and only load first 2020-11-06 10:12:46 -05:00
Anmol Sethi 82e8a00a0d
Fix CI 2020-11-06 10:12:46 -05:00
Anmol Sethi e08a55d44a
src/node/plugin.ts: Implement new plugin API 2020-11-06 10:12:45 -05:00
Asher 959497067c
Document HttpError
Also type the status.
2020-11-05 17:07:58 -06:00
Asher f7076247f9
Move domain proxy to routes
This matches better with the other routes.

Also add a missing authentication check to the path proxy web socket.
2020-11-05 17:07:32 -06:00
Asher f6c4434191
Tweak proxy fallthrough behavior
It will now redirect all HTML requests. Also it avoids req.accepts since
that's always truthy.
2020-11-05 16:49:30 -06:00
Asher cb991a9143
Handle errors for JSON requests
Previously it would have just given them the error HTML.
2020-11-05 15:19:56 -06:00
Asher 3f1750cf83
Fix destroying response in update again
I added another reject that doesn't destroy the response.
2020-11-05 15:08:10 -06:00
Asher 7b2752a62c
Move websocket routes into a separate app
This is mostly so we don't have to do any wacky patching but it also
makes it so we don't have to keep checking if the request is a web
socket request every time we add middleware.
2020-11-05 15:08:09 -06:00
Asher 9e09c1f92b
Upgrade to Express 5
Now async routes are handled!
2020-11-05 15:08:08 -06:00
Asher 8252c372af
Provide a way to tell when event handlers are finished
This lets us actually wait for disposal before a graceful exit.
2020-11-05 15:08:07 -06:00
Asher 396af23842
Kill VS Code when process exits
This is to ensure it doesn't hang around.
2020-11-04 17:07:41 -06:00
Asher 34225e2bdf
Use ensureAuthenticated as middleware 2020-11-04 17:07:40 -06:00
Asher 476379a77e
Fix cookie domain
Had double Domain=
2020-11-04 17:07:39 -06:00
Asher 210fc049c4
Document VS Code endpoints 2020-11-04 17:07:39 -06:00
Asher e5c8e0aad1
Remove useless || 2020-11-04 17:07:38 -06:00
Asher c5ce365482
Use query variable to force update check 2020-11-04 17:07:37 -06:00
Asher a653b93ce2
Include protocol on printed address
This makes it clickable from the terminal.
2020-11-04 17:07:36 -06:00
Asher e2c35facdb
Remove invalid comment on maybeProxy
It no longer handles authentication.
2020-11-04 17:07:35 -06:00
Asher 75b93f9dc5
Fix bind address priority
Broke when converting to a loop.
2020-11-04 17:07:24 -06:00
Asher 8066da12fe
Remove unused Locals interface 2020-11-03 15:37:22 -06:00
Asher 03e0013112
Unbind error/exit events once handshakes resolve 2020-11-03 15:27:21 -06:00
Asher e243f6e369
Return early when forking to reduce indentation 2020-11-03 15:27:21 -06:00
Asher c10450c4c5
Move isFile into util
That allows its use in entry.ts as well.
2020-11-03 15:27:20 -06:00
Asher c72c53f64d
Fix not being able to dispose vscode after failed disposal 2020-11-03 14:36:27 -06:00
Asher f4e5855318
Simplify update request 2020-11-03 14:35:23 -06:00
Asher 3a074fd844
Skip unnecessary auth type check when using --link 2020-11-03 14:30:34 -06:00
Asher 8a9e61defb
Use Addr interface everywhere and loop over arg sources 2020-11-03 14:28:49 -06:00
Asher 1067507c41
Proxy to 0.0.0.0 instead of localhost 2020-11-03 14:28:48 -06:00
Anmol Sethi f9e0990594
Merge pull request #2255 from cdr/self-signed-3b2c
Fix self signed certificate for iPad
2020-11-03 14:04:47 -05:00
Asher 9ad7d0b7a3
Fix potential 500 when loading in parallel 2020-10-30 16:16:46 -05:00
Asher 07e7c38ea2
Immediately pause web socket
This will buffer any data sent to it until something is ready to listen
on it.
2020-10-30 16:16:46 -05:00
Anmol Sethi a1b61d1659
src/node/util.ts: Mark generated certificates as CA
Required for access under iPad.
2020-10-30 13:36:53 -04:00
Anmol Sethi bae28727bd
src/node/cli.ts: Add --cert-host to configure generated certificate hostname 2020-10-30 13:36:53 -04:00
Anmol Sethi 8b85006996
src/node/util.ts: Make certificate generation "modern"
Now we add a subject alt name, set extendedKeyUsage and use the
correct certificate extension.

The above allow it to be properly trusted by iOS.

See https://support.apple.com/en-us/HT210176

*.cert isn't a real extension for certificates, *.crt is correct
for it to be recognized by e.g. keychain or when importing as a profile
into iOS.

Updates #1566

I've been able to successfully connect from my iPad Pro now to my
code-server instance with a self signed certificate! Next commit
will be docs.
2020-10-30 13:36:53 -04:00
Anmol Sethi 10b3028196
util: Generate self signed certificate into data directory
Closes #1778
2020-10-30 13:36:53 -04:00
Asher f2f1fee6f1
Short-circuit heartbeat when alive 2020-10-27 17:48:37 -05:00
Asher 504d89638b
Fix open line being printed when open fails
Opening the URL can fail if the user doesn't have something appropriate
installed to handle it.
2020-10-27 17:43:11 -05:00
Asher dc177ab505
Unambiguify address replacement
Co-authored-by: Teffen Ellis <TeffenEllis@users.noreply.github.com>
2020-10-27 17:38:54 -05:00
Asher cde94d5ed4
Remove redundant serverAddress check
We now guarantee there is an address.
2020-10-27 17:35:42 -05:00
Asher 305348f0ac
Improve proxy fallthrough logic
- Use accept header.
- Match /login and /login/ exactly.
- Match /static/ (trailing slash).
- Use req.path. Same result but feels more accurate to me.
2020-10-27 17:31:37 -05:00
Asher 6ab6cb4f07
Fix error handler types 2020-10-27 17:20:13 -05:00
Asher 6422a8d74b
Fix webview resource path 2020-10-27 17:17:05 -05:00
Asher 257d9a4fa4
Make authentication work with sub-domain proxy 2020-10-26 17:56:14 -05:00
Asher 112eda4605
Convert routes to Express 2020-10-26 17:56:13 -05:00
Asher 4b6cbacbad
Add file for global constants 2020-10-26 17:56:12 -05:00
Asher 71dc5c7542
Switch to Express
It doesn't do anything yet.
2020-10-26 17:56:11 -05:00
Asher 8e93e28162
Strip config file password from debug log 2020-10-20 16:18:28 -05:00
Asher 9f25cc6d5d
Move providers from `app` to `routes` 2020-10-20 16:18:27 -05:00
Asher 2928d362fa
Move heart and AuthType out of http
This file is going to get blasted in favor of Express.
2020-10-20 16:18:24 -05:00
Asher dcb303a437
Move argument defaults into setDefaults 2020-10-20 16:15:13 -05:00
Asher a7c43a8eb6
Remove CSP tag from VS Code html
This matches with the html in the VS Code repo and also fixes a problem
with the worker which loads HTML using data: and then can't load any
scripts because 'self' doesn't work.
2020-10-14 17:11:24 -05:00
Asher 30d05aeb4b
Update require base URL for VS Code loader
It needs to have the scheme otherwise when resolving these modules the
loader will default to the file scheme and fail to fetch.
2020-10-14 17:11:24 -05:00
Asher 07580e1fcb
Add path to loader for tas-client-umd
It's a new module used by 1.50.0.
2020-10-14 17:11:23 -05:00
Anmol Sethi 00383b79b9
Merge pull request #2099 from cdr/open-in
Make opening in an existing instance work outside code-server
2020-10-12 01:14:15 -04:00
Asher c6ba12942c
Filter blank plugin directories (#2187)
I neglected to realize that "".split(":") is an array with "" in it.
2020-10-11 02:14:43 -04:00
Asher 26c735b434
Remove tryParse
Now that the exception handling happens further up there doesn't seem to
be an advantage in having this in a separate method.
2020-10-09 17:05:21 -05:00
Asher 466a04f874
Remove pointless use of openInFlagCount
It'll always be zero here.
2020-10-09 16:57:45 -05:00
Asher e0769dc13a
Move config file info log
Otherwise it outputs when trying to open a file in an existing instance
externally. Externally there isn't an environment variable to branch on
to skip this line so instead output it with the other info lines in the
child process.
2020-10-09 16:57:44 -05:00
Asher fe19391c03
Read most recent socket path from file 2020-10-09 16:57:43 -05:00
Asher 021c084e43
Move log level defaults into setDefaults
This will allow cliArgs to be only the actual arguments the user passed
which will be used for some logic around opening in existing instances.
2020-10-09 16:57:42 -05:00
Asher 1902296702
Remove references to --open-in flag 2020-10-09 16:57:41 -05:00
Asher bb1bf88439
Fix wrapper.start not actually waiting for anything 2020-10-09 16:57:41 -05:00
Asher 0a8e71c647
Refactor wrapper
- Immediately create ipcMain so it doesn't have to be a function which I
  think feels cleaner.
  - Move exit handling to a separate function to compensate (otherwise
    the VS Code CLI for example won't be able to exit on its own).
- New isChild prop that is clearer than checking for parentPid (IMO).
- Skip all the checks that aren't necessary for the child process (like
  --help, --version, etc).
  - Since we check if we're the child in entry go ahead and move the
    wrap code into entry as well since that's basically what it does.
- Use a single catch at the end of the entry.
- Split out the VS Code CLI and existing instance code into separate
  functions.
2020-10-09 16:57:40 -05:00
Asher 6bdaada689
Move uncaught exception handler to wrapper
Feels more appropriate there to me.
2020-10-09 16:50:24 -05:00
Anmol Sethi 1e4e72aa5b
Merge pull request #2184 from nhooyr/link-flag-1547
cloud: Rename --coder-bind to --link
2020-10-09 13:53:55 -04:00
Anmol Sethi fcfb03382a
cloud: Add mention of cloud repo 2020-10-09 12:57:48 -04:00
Anmol Sethi d67bd3f604
cloud: Rename --coder-bind to --link 2020-10-09 12:57:20 -04:00
Anmol Sethi 2d1de749f4
Unlink socket before using (#2181)
See https://stackoverflow.com/a/34881585/4283659

Closes #1538
2020-10-09 12:34:52 -04:00
Asher c6c293d53a
Merge pull request #2147 from cdr/multi-plugin 2020-10-09 11:02:25 -05:00
Anmol Sethi a5b6d080bd
Add CS_BETA and note --coder-bind is in beta 2020-10-09 07:50:51 -04:00
Anmol Sethi 9ff37977a8
Make --coder-bind disable HTTPS 2020-10-09 07:39:10 -04:00
Anmol Sethi f5489cd3a0
Hide -coder-bind for now 2020-10-09 07:38:38 -04:00
Asher c86d7398ab
Use system data directory for plugins 2020-10-08 16:18:31 -05:00
Anmol Sethi 3e28ab85a0
Add debug log for options passed to the agent 2020-10-07 17:40:19 -04:00
Anmol Sethi 85b0804be5
Remove cliArgs from main
No purpose when all the args are in the args parameter.

We only need configArgs for bindAddrFromAllSources.
2020-10-07 17:40:19 -04:00
Anmol Sethi df3089f3ad
coder-cloud: Use consolidated bind command 2020-10-07 17:40:19 -04:00
Anmol Sethi bfe731f4f3
Ensure socket is undefined with --coder-bind 2020-10-07 16:16:01 -04:00
Anmol Sethi c4f1c053bf
Show valid values for --auth in --help
See https://github.com/nhooyr/code-server/pull/1/files#r485847134
2020-10-07 15:58:30 -04:00
Anmol Sethi 4b3c089630
Remove dead code 2020-10-07 15:58:30 -04:00
Anmol Sethi 1c16814a89
Update coder-bind docs 2020-10-07 15:58:30 -04:00
Anmol Sethi c3c24fe4d2
Fixes for @ammarb 2020-10-07 15:58:30 -04:00
Anmol Sethi 22c4a7e10f
Make linking and starting code-server to the cloud a single command 2020-10-07 15:58:30 -04:00
Anmol Sethi 0aa98279d6
Fixes for CI 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 916e24e109
Add support for multiline descriptions 2020-10-07 15:58:30 -04:00
Anmol Sethi c7c62daa67
Remove unused code in optionDescriptions 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 a44b4455f5
Read plugin name from package.json 2020-10-07 12:54:48 -05:00
Asher c2ac126a50
Log all plugin errors as errors 2020-10-07 12:25:42 -05:00
Asher ddda280df4
Rename plugin vars and make both colon-separated
Only one was colon separated but now they both are.
2020-10-07 12:18:57 -05:00
Asher 7a982555a8
Add version to plugin load log 2020-09-30 15:52:40 -05:00
Asher e64b186527
Add variables to better customize plugin directories 2020-09-30 15:52:39 -05:00
Asher 11eaf0b470
Fix being unable to use [::] for the host
Fixes #1582.
2020-09-30 12:49:36 -05:00
Asher 8b5deac92b
Fix 80 getting dropped from bind-addr 2020-09-30 11:57:23 -05:00
Asher 9d87c5328c
Add robots.txt (#2080)
Closes #1886.
2020-09-14 17:34:48 -05:00
Anmol Sethi cc5ed1eb57
Allow installing extensions from the CLI while $VSCODE_IPC_HOOK_CLI
Closes #2083
2020-09-11 11:49:22 -04:00
Asher ffe6a663aa
Add /vscode to nls fetch
A plugin may modify the root endpoint which will make /resource no
longer work so always use /vscode/resource instead.
2020-09-09 12:05:44 -05:00
Asher 938b460685
Add trailing slash to service worker scope
This will ensure it always matches or is underneath the allowed service
worker scope.

Fixes #2076.
2020-09-09 12:05:04 -05:00
Asher fef619aef8
Fix incorrect login script src path 2020-09-08 14:06:41 -05:00
Asher 0a2328c1f6
Don't require auth for healthz (#2055)
* Don't require authentication for healthz endpoint

* Add FAQ entry for /healthz
2020-09-08 13:59:01 -05:00
Asher e44e574ce1
Fix language packs (#2058)
* Fix incorrect nls.json fetch

When moving this out of the HTML I didn't remove {{BASE}}.

* Fix language package installation

Updates #2046.
2020-09-04 10:10:40 -05:00
Asher 617cd38c71
Fix my bad conflict resolution from the github ui 2020-08-31 11:10:12 -05:00
Jacob Goldman 75c8fdeed2
Added /healthz JSON response for heartbeat data. #1940 (#1984) 2020-08-31 10:29:12 -05:00
Asher ce8577b1c3
Remove open-in flag (#2013) 2020-08-27 15:04:37 -05:00
shayne ceb2265b14
Allow opening files, folders, and workspaces in existing code-server from CLI (#1994)
Add initial support for opening files / folders in running code-server instance.

Current limitations:

- unable to open a file in a new window, only folders
- unable to use addMode feature
- others...
2020-08-27 13:06:21 -05:00
Anmol Sethi 864a9e7bd6
Merge pull request #1999 from cdr/update
Update dependencies in package.json
2020-08-27 13:17:18 -04:00
Asher a839da34d7
Remove custom offline text (#2007)
We need the handler to be recognized as a PWA but we can just let the
original offline browser message show instead of our own message.

See #1925 and #1979.
2020-08-27 11:33:34 -05:00
Asher eebb8bb314
Add proposed API flag (#2002)
Co-authored-by: giddyuptiger <65830808+giddyuptiger@users.noreply.github.com>
2020-08-26 14:18:40 -05:00
Anmol Sethi ebbb1187da
Update remaining dependencies 2020-08-26 14:27:30 -04:00
Anmol Sethi c8f63b61c4
Fix fmt and lint 2020-08-26 14:21:37 -04:00
Asher e237589f2e
Update VS Code to 1.48.0 (#1982) 2020-08-25 13:06:41 -05:00
Asher 74910ffcdf
Hotswap on SIGUSR1 (#1970) 2020-08-17 14:17:55 -05:00
Asher 3c90b1e327
Merge pull request #1969 from cdr/qol
qol changes
2020-08-17 14:17:29 -05:00
Asher 0dcf469725
Add @version information to --help
This mimics a recent change in VS Code's help. See #1965.
2020-08-13 18:08:35 -05:00
Asher d8568ebaa9
Enforce import order 2020-08-13 17:11:35 -05:00
Asher f7790c9719
Remove unused deep merge code 2020-08-13 17:11:34 -05:00
Asher 150d37868a
Enforce strict equals 2020-08-13 17:11:33 -05:00
Asher d6d24966be
Move vscode JS to a separate file
Mostly to match everything else.
2020-08-13 17:10:59 -05:00
Asher 751a5ea3ad
Move login JS to a separate file
Mostly so the base URL resolution code can be shared.
2020-08-13 17:10:54 -05:00
Asher de568d446b
Add cookie domain debug logs
To help debug login issues.
2020-08-13 17:06:32 -05:00
Asher 7d02f34f71
Merge pull request #1934 from cdr/plugin
Add plugin system for adding http endpoints
2020-08-13 16:59:44 -05:00
G r e y a0ff2014c3
Add Callback type
Adds a reusable Callback type that is applied to emitter.ts for improved
readability/simplicity.
2020-08-10 21:41:46 -05:00
G r e y 6e27869c09
Add str param to plural util
Adds a str param to common/util::plural for pluralizing a string.
Applies plural to entry.ts.
2020-08-09 00:06:18 -05:00
Asher 9b979ac869
Document code-server injection 2020-08-05 13:00:37 -05:00
Asher 3badf6bf7b
Use ?? for base default 2020-08-05 13:00:36 -05:00
Asher 10c2b956ac
Remove leading slash trim in base resolver
It's not necessary since we return early if the path starts with a
slash.
2020-08-05 13:00:35 -05:00
Asher 543d64268d
Simplify valid path check 2020-08-05 13:00:34 -05:00
Asher fd36f8c168
Use error log level for plugin load failure 2020-08-05 13:00:33 -05:00
Asher 361e7103ea
Enable loading external plugins 2020-07-31 17:42:48 -05:00
Asher bac948ea6f
Add plugin system 2020-07-31 15:08:02 -05:00
Asher 5370f7876d
Merge pull request #1927 from cdr/dead-code
Remove dead code
2020-07-31 12:25:56 -05:00
futengda ecb9bb2428 refactor: write `lastVisited` and `query` at the same time
In addition, the `settings.write` method now uses shallow merge by default
2020-07-31 12:25:20 +08:00
Asher e86c066438
Add helper functions to make some code clearer 2020-07-30 12:14:31 -05:00
futengda b6e791f7d0 refactor: write route.query via settings.write
I added a shallow parameter, because the query should not be extends, but should be replaced directly.
2020-07-30 16:54:02 +08:00
Asher 2fa5037859
Log output to disk 2020-07-29 18:48:07 -05:00
Asher 7c2ca7d03e
Add the ability to prepend to the proxy path
This is for applications like Jupyter that aren't base path agnostic.
2020-07-29 18:48:06 -05:00
Asher c67d31580f
Include details if any in JSON requests 2020-07-29 18:48:05 -05:00
Asher 58bd7008b4
Make dispose async 2020-07-29 18:48:04 -05:00
Asher 554b6d6fcf
Remove apply portion of update endpoint
It can still be used to check for updates but will not apply them.

For now also remove the update check loop in VS Code since it's
currently unused (update check is hardcoded off right now) and won't
work anyway since it also applies the update which now won't work. In
the future we should integrate the check into the browser update
service.
2020-07-29 18:48:02 -05:00
fxxjdedd 5ba650bb6f
feat: persist route query to local
Provide a way for the shell script running in the docker container to get the url query.
2020-07-28 20:14:52 +08:00
Asher e8f6d30055
Make providers endpoint-agnostic
A provider can now be registered on multiple endpoints (or potentially
moved if needed).
2020-07-27 12:00:48 -05:00
Asher 2819fd51e2
Remove unused endpoints
- dashboard
- app api
2020-07-27 12:00:42 -05:00
Asher de8e9804ad
Update to VS Code 1.47.2 2020-07-21 13:16:44 -05:00
Anmol Sethi c00f931500
Remove zip library dependency 2020-06-03 18:24:59 -04:00
Anmol Sethi 85ad7e4fb4
Remove duplicate log
Also confirmed that #1750 is fixed.
2020-06-03 15:45:17 -04:00
Anmol Sethi 11d7932968
Stop bundling libraries in release
- Instead we now use CentOS 7 for the static build to guarantee
  that we only depend on libc v2.17

- For macOS we now pull in a static node binary and bundle that instead.
2020-06-03 15:45:16 -04:00
Anmol Sethi 2c2a6498af
Parse config file in entry
This way setting --data-dir and --extension-dir in the config file
will work for --install--extension and whatnot.
2020-06-03 15:45:16 -04:00
Anmol Sethi 7ab47b3d83
Trim LD_LIBRARY_PATH on startup 2020-06-03 15:45:16 -04:00
Anmol Sethi 9d0dcf3c44
Fix extension install path for CLI
Closes #1713
2020-05-27 14:28:40 -04:00
Anmol Sethi 8053ec6872
Allow user-data-dir and extension-dir in config.yaml
Closes #1676
2020-05-19 00:41:27 -04:00
Asher f7f11ad6c2
Fix paths from Windows client to non-Windows server
Fixes #1659
Fixes #1642
2020-05-18 15:06:11 -05:00
Anmol Sethi 6a25b3bfa0
Document structure better
Closes #1648
2020-05-17 16:53:08 -04:00
Anmol Sethi 73b2ff0945
$PORT should always override port in --bind-addr 2020-05-14 22:33:12 -04:00
Anmol Sethi 40778b15ca
Add code-server version into VS Code about
Closes #1506
2020-05-14 22:33:12 -04:00
Anmol Sethi c69346a9a7
Add FAQ entry on the config file 2020-05-14 18:35:35 -04:00
Anmol Sethi 5651201643
Copy old macOS data directory if applicable 2020-05-14 06:12:33 -04:00
Anmol Sethi a0a77e379e
Add doc/guide.md 2020-05-14 05:24:23 -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 1e432b25ea
Comment on hash(password) 2020-05-12 19:59:54 -04:00
Anmol Sethi d6ea9d78f6
Configuration file bug fixes based on @code-asher's review 2020-05-12 19:59:54 -04:00
Anmol Sethi d288131a33
Fix lint errors 2020-05-12 19:59:54 -04:00
Anmol Sethi e02d94ad2f
Allow password authentication in the config file 2020-05-12 19:59:54 -04:00
Anmol Sethi 4f67f4e096
Disable automatic updates 2020-05-12 19:59:54 -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