Commit Graph

210 Commits

Author SHA1 Message Date
Anmol Sethi 261af28f70
vscode: Fixes for linting 2020-11-30 15:39:57 -05:00
Anmol Sethi 0713fa900b
vscode: Fix update check timeouts
Forgot an extra 60 in the check interval and the notification timeout.
Very unfortunate. Check has been allowed every 168 minutes instead of
every week.
2020-11-30 15:30:19 -05:00
Anmol Sethi cc18175ce3
cli: Add --disable-update-check flag
Closes #2361
2020-11-30 15:30:06 -05:00
Anmol Sethi 27f0f195a8
vscode: Use options.base for update checking
See https://github.com/cdr/code-server/pull/2358#discussion_r529858749
2020-11-30 15:29:53 -05:00
Anmol Sethi c35d558352
vscode: Reconnect in the background up to 5 seconds
Based on the previous commits by @mgmachado but simplified.

I also changed the threshold to error after a single attempt as the
connection has likely been borked and the user should be in the know if
they couldn't reconnect after 5 seconds.

Closes #1791
2020-11-30 13:59:40 -05:00
Anmol Sethi 8cb4e2c226
vscode: Remove background reconnection fixes from patch
I'll have to manually apply as they are not compatible with the latest
VS Code after rebase anymore.
2020-11-30 13:56:41 -05:00
Machado, Meygha e5067ba2a9
separate event domain from UI 2020-11-30 13:56:41 -05:00
Machado, Meygha fa0853dca6
revert reconnect wait times 2020-11-30 13:56:41 -05:00
Machado, Meygha a898dd34b9
solution with forceDialog for attempt 3 and no change to VisibleProgress class 2020-11-30 13:56:41 -05:00
Machado, Meygha 4eb4375119
one working solution without event suppression 2020-11-30 13:56:41 -05:00
Machado, Meygha 290c533c8e
turn off visibleProgress on ConnectionLost 2020-11-30 13:56:40 -05:00
Machado, Meygha 67e2a99df2
show popup on third attempt 2020-11-30 13:56:40 -05:00
Anmol Sethi 833314aae8
vscode: Make eslint pass
I disabled code-layering and code-import-patterns as I don't think we
can make them easily pass as we reference all sorts of code from both
browser and node files. At least not worth the headache now to refactor
everything.
2020-11-27 08:21:44 -05:00
Anmol Sethi 5247878d93
ci: Enable vscode linting
Updates #2359
2020-11-27 08:20:31 -05:00
Asher ae65c83cbd
Fix exthost error and warn logging (#2366)
Previously anything that wasn't "log" such as "warn" would end up doing
`logger[logger.warn]`. Would have caught this if I hadn't used `any`...

Fixes #2364.
2020-11-26 17:58:34 -05:00
Anmol Sethi def81245a4
vscode: Check updates with absolute path
In case the window location path changes. Not entirely sure if it can
but best to be on the safe side.
2020-11-24 13:07:30 -05:00
Anmol Sethi 37c80c9bbd
vscode: Add missing semicolons
See #2359
2020-11-24 12:48:22 -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
Anmol Sethi bb26d2edd3
Merge pull request #2357 from cdr/branding-0570
vscode: Customize welcome page for code-server
2020-11-24 11:58:31 -05:00
Anmol Sethi 303fe2bc4e
vscode: Customize welcome page for code-server
- Title/subtitle are now code-server and VS Code version
- Added a list of code-server help links
2020-11-23 21:16:14 -05:00
Anmol Sethi 5a38ab95fe
vscode: Disable go home button
See https://github.com/cdr/code-server/issues/2328
2020-11-23 21:16:14 -05:00
Anmol Sethi 19710ab144
vscode: Update product.json
The new fields are from vscodium and make the welcome page
documentation links work correctly.

I also renamed the distribution to "code-server" so that when you're
in a browser, it now says code-server instead of Code OSS.
2020-11-23 19:06:09 -05:00
Asher 3d7fbec40f
Use file system for settings and fix data home path
It's possible that using browser storage makes more sense with settings
sync, so we might want to revisit this once/if we get settings sync
working. As it currently is though, browser storage just causes jank.

The path was also missing a `User` at the end so I added that. This
might affect the Vim extension which would have been writing to the
wrong path previously but I don't believe it should affect anything
else since they would have been writing to browser storage.

- Fixes #2208
- Fixes #2231
- Fixes #2279
- Fixes #2274
2020-11-20 14:03:07 -06:00
Asher 42390da097
Don't persist terminals for now 2020-11-19 15:51:37 -06:00
Asher d0f6cbb02d
Use resolverEnv to get exec path
This is the last unused variable in the create terminal payload.
2020-11-19 15:51:36 -06:00
Asher fa59156a2a
Implement remaining resolver methods 2020-11-19 15:51:35 -06:00
Asher 8ffe599796
Add notes on unimplemented terminal events 2020-11-19 15:51:34 -06:00
Asher a6f8840009
Add timeout for disposing detached terminals 2020-11-19 15:51:33 -06:00
Asher 1feb30a7ff
Send back workspace ID and name in terminal list
This makes it re-connect automatically.
2020-11-19 15:51:32 -06:00
Asher 182aca6490
Only replay terminals when detached 2020-11-19 15:51:31 -06:00
Asher 8311cf5657
Handle non-persistent terminals 2020-11-19 15:51:30 -06:00
Asher 4de2511162
Implement terminal replay event 2020-11-19 15:51:30 -06:00
Asher 3f7b91e2e2
Implement most of remote terminal service
It works, at least, but there are still some missing parts.
2020-11-19 15:51:29 -06:00
Asher 431137da45
Add new (unimplemented) terminal service 2020-11-19 15:51:28 -06:00
Asher 4d276b88c0
Add new logger service
The telemetry service depends on this now. I had to move it into
invokeFunction and use accessor.get otherwise getLogger on the service
was undefined.

I also had to move some the extension management service because it
depends on the moved telemetry service. I moved a few other services as
well to better match VS Code (sharedProcessMain.ts).

I swapped some this.services.get with accessor.get since that seems to
be the correct method although for these other services either method
seems to work.
2020-11-19 15:51:27 -06:00
Asher e28c9ab287
Update VS Code to 1.51.1 2020-11-19 15:51:23 -06:00
Asher 624cd9d44f
Fix webview 404s
An extra slash caused a 404 (was /webview//vscode-resource).
2020-11-18 17:10:53 -06:00
Anmol Sethi 79e8f3dfdb
ci: Only use helm kubeval if installed 2020-11-13 18:44:29 -05:00
Anmol Sethi f4d48bc880
ci: Remove helm validation action in favour of helm kubeval directly 2020-11-13 18:38:58 -05:00
Anmol Sethi 9af3671c05
helm: Add link in install.md 2020-11-13 18:38:58 -05:00
Asher 9889f30224
Remove unused ts-expect-error from VS Code
I'm not sure why other builds are passing with this still in.
2020-11-12 12:30:41 -06:00
Asher e1702a1d21
Merge branch master into code-asher/ch1385 2020-11-12 11:52:02 -06:00
Anmol Sethi 706bc23f04
plugin: Fixes for CI 2020-11-06 10:13:01 -05:00
Anmol Sethi 75e52a3774
plugin.ts: Fixes for @code-asher 2020-11-06 10:12:46 -05:00
Anmol Sethi 481df70622
ci/dev/test.sh: Pass through args 2020-11-06 10:11:57 -05: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
Anmol Sethi 31306f7fdd
docs: Add iPad self signed certificate documentation
Closes #1816
Closes #1566
2020-11-03 14:04:19 -05:00
Asher 0b9af6ef67
Initiate connection handshake from server
This way the connection can be initiated by either side. It looks like
sometimes the initial message from the client is lost (it never makes it
into the onControlMessage callback) but I'm still not sure why or if
that is preventable.

Also added a timeout on the server end to clean things up in case the
client never responds.
2020-10-30 16:16:45 -05:00
Asher c63dc3a1ea
Add more logging around connections 2020-10-30 16:16:44 -05:00
Asher 112eda4605
Convert routes to Express 2020-10-26 17:56: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 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 fe19391c03
Read most recent socket path from file 2020-10-09 16:57:43 -05:00
Anmol Sethi daa1c86fe0
Merge pull request #2086 from nhooyr/master
Integrate Coder Cloud Agent
2020-10-09 07:52:09 -04:00
Anmol Sethi 8063c79e44
Patch VS Code to avoid deleting extension dependencies (#2170)
Closes #1961
2020-10-08 16:55:13 -04:00
Anmol Sethi 7cc16ceb3a
Document KEEP_MODULES 2020-10-07 16:16:01 -04:00
Anmol Sethi 9035bfa871
Add coder cloud agent binary to build process 2020-10-07 15:58:30 -04:00
Anmol Sethi 607444c695
Switch off debian:8 to debian:10 for the typescript build image
We only want to use an old version for glibc which the centos:7
image takes care of.

The old version of git used in debian:8 was causing problems
with the uid/gid passthrough with no user in passwd.
2020-10-07 15:58:30 -04:00
Anmol Sethi b22f3cb72f
Add $HOME to ./ci/dev/image/run.sh 2020-10-07 15:58:30 -04:00
Asher 402f5ebd77
Update VS code to 1.49.3 (#2081) 2020-10-07 12:37:37 -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
Anmol Sethi 35a2d71b67
Minor release process fixes (#2042) 2020-09-03 02:16:57 -04:00
Anmol Sethi 1558ff6dac
Streamline dev container workflow (#2014) 2020-08-27 15:39:24 -04: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
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
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 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 42467b3e66
Watch plugin and restart when it changes 2020-07-31 17:42:49 -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
Asher b63cf192b5
Remove broken symlinks in extensions node modules
The broken symlinks cause nfpm to fail.
2020-07-31 10:49:45 -05:00
Asher 50ed29e0f0
Move rimraf to prod deps in extensions
The postinstall uses rimraf so it needs to exist in the final build.
2020-07-31 10:49:40 -05:00
Asher c581bca29d
Force minimist update 2020-07-29 18:48:08 -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
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
Asher 81d25dd048
Add missing bootstrap-node.js to final build
Fixes #1884.
2020-07-21 11:31:27 -05:00
Asher 641b36be6a
Update VS Code to 1.47.0 2020-07-09 17:04:11 -05:00
Asher a06522f254
Update VS Code to 1.46.1 2020-07-07 17:01:23 -05:00
Asher ebef18d626
Fix connections sticking around indefinitely
For some reason it only affects the extension host socket (something to
do with passing it via IPC?) but I changed both just to be sure.

Fixes #1795.
2020-06-30 16:41:47 -05:00
Asher 1b7d4b5a18
Initialize config and use correct settings path
Fixes #1829.
2020-06-24 11:40:17 -05:00
Anmol Sethi 4cf81d88a7
Always create globalStorageHome
Closes #1693
2020-06-04 05:33:27 -04:00
Anmol Sethi c00f931500
Remove zip library dependency 2020-06-03 18:24:59 -04:00
Anmol Sethi ab081cd522
Add warning when using outdated code-server script 2020-06-03 15:45:17 -04:00
Anmol Sethi d4ef7c1412
Remove colons from image filenames 2020-06-03 15:45:16 -04:00
Anmol Sethi 5815b4a0c0
Rename dev/container -> dev/image 2020-06-03 15:45:16 -04:00
Anmol Sethi bdb670e852
Rename container and release-container to images and release-image 2020-06-03 15:45:16 -04:00
Anmol Sethi 665ca017a1
Fixes from @code-asher's godly review 2020-05-27 15:48:22 -04:00
Anmol Sethi 510d84898c
install.sh: Add our own flag parser
Fully supports long opts!
2020-05-27 15:48:22 -04:00
Anmol Sethi 3b11733bd8
Add auto install script 2020-05-27 15:48:22 -04:00
Anmol Sethi ce9d14d55e
Pin to vscode 1.45.1
1.46 isn't released yet and has bugs.

Closes #1667
2020-05-18 17:34:22 -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 47d50c9163
Downgrade CI to Debian 8 for glibc 2.19
Closes #1656
2020-05-18 00:38:55 -04:00
Anmol Sethi 6a25b3bfa0
Document structure better
Closes #1648
2020-05-17 16:53:08 -04:00
Anmol Sethi 89c5a4dfea
Set --frozen-lockfile with yarn when necessary 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 a0a77e379e
Add doc/guide.md 2020-05-14 05:24:23 -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 dc632ac176
Remove .yarnrc from lib/vscode 2020-05-13 01:11:53 +00:00
Asher 95ac0ddfb7
Fix paths for Windows
- Fix vscode-remote-resource, #1397.
- Fix double slash on webview, was causing images not to load.
- Fix client-side tar paths.
2020-05-12 13:49:37 -05:00
Anmol Sethi 169f8c67fe
Automate draft release 2020-05-11 20:59:56 -04:00
Anmol Sethi 0ec1c69c06
Switch fully to GH Actions 2020-05-07 23:13:28 -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