Commit Graph
100 Commits
Author SHA1 Message Date
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
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
AsherandTeffen Ellis 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 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
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 daf204eeda Exclude browser-supported remote extensions
Removing them just for peace of mind even though they seem to get
filtered out later. This line is meant to only add remote extensions
that aren't capable of running in the browser. If they are
browser-capable they don't need to run in our shimmed Node environment.
2020-10-14 17:36:47 -05:00
Asher f20f7ac166 Move extension fetch to main thread
This makes the fetch work independently of the worker's origin which is
no longer the same as the main thread (the main problem is the inability
to send cookies without setting SameSite to None).
2020-10-14 17:11:25 -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
Asher e3699cf258 Update VS Code to 1.50.0
- The .js build files are no longer committed so they're gone.
- ParsedArgs and EnvironmentService are now NativeParsedArgs and
  NativeEnvironmentService.
- Interface for environment service was moved.
- getPathFromAmdModule was deprecated.
2020-10-14 17:11:22 -05:00
Asher ec564091f1 Fix agent copy during release
If there isn't a lib dir yet it'll copy as lib instead of getting put
inside the directory.
2020-10-12 17:29:39 -05: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 d7e3112625 Update standalone test 2020-10-09 18:01:43 -05: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
Asher c6c293d53a Merge pull request #2147 from cdr/multi-plugin 2020-10-09 11:02:25 -05:00
Asher c86d7398ab Use system data directory for plugins 2020-10-08 16:18:31 -05:00
Asher 9f963c7e66 Update Node to 12.18.4 (#2175) 2020-10-08 16:15:05 -05:00
Asher a44b4455f5 Read plugin name from package.json 2020-10-07 12:54:48 -05:00
Asher 548a35c0ee Merge pull request #2146 from cdr/listen 2020-10-07 12:50:54 -05:00
Asher 402f5ebd77 Update VS code to 1.49.3 (#2081) 2020-10-07 12:37:37 -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
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 4a250be79a Use --full-index for patch
This should eliminate potential noise in the diffs for the patch since
different versions seem to default to different hash lengths.
2020-09-03 14:32:51 -05:00
Asher 3761f7bd51 Patch VS Code to wait for storage write (#2049)
VS Code has a short delay before writing storage (probably to queue up
rapid changes). In the web version of VS Code this happens on the client
which means if the page is reloaded before the delay expires the write
never happens.

Storage updates are already promises so this simply returns the promise
returned by the delayer so it won't resolve until the write actually
happens.

Fixes #2021.
2020-09-03 13:57:46 -05:00
Asher 617cd38c71 Fix my bad conflict resolution from the github ui 2020-08-31 11:10:12 -05:00
Asher ce8577b1c3 Remove open-in flag (#2013) 2020-08-27 15:04:37 -05: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
Asherandgiddyuptiger eebb8bb314 Add proposed API flag (#2002)
Co-authored-by: giddyuptiger <65830808+giddyuptiger@users.noreply.github.com>
2020-08-26 14:18:40 -05:00
Asher ce2eaf2f10 Update to VS Code 1.48.2 (#2000) 2020-08-26 10:18:47 -05:00
Asher e237589f2e Update VS Code to 1.48.0 (#1982) 2020-08-25 13:06:41 -05:00
Asher c6f054ad6f Fix watch exiting if no plugin 2020-08-18 16:34:59 -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 8590f80c31 Remove unnecessary tsc settings 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
Asher 934c8d4eb6 Clarify exported types and ipc.d.ts 2020-08-05 13:00:37 -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