Commit graph

75 commits

Author SHA1 Message Date
Asher
7389d9e2cb
Use current URL for webview 2019-08-12 10:23:08 -05:00
Asher
ba7285192c
Update VS Code to 1.37.0 2019-08-09 19:23:41 -05:00
Asher
b257c60636
Fix websocket defaulting to port 80 when authority has no port 2019-08-08 11:59:07 -05:00
Asher
f5a6f14ade
Implement update service 2019-08-07 16:18:17 -05:00
Asher
7e794bd134
Fix favicon not being included in final build 2019-08-05 13:34:32 -05:00
Asher
950bfce420
Add commit, date, and checksums to product.json 2019-08-02 20:29:48 -05:00
Asher
712274d912
Groundwork for language support
- Implement the localization service.
- Use the proper build process which generates the require JSON files.
- Implement getting the locale and language configuration.
2019-08-02 19:29:00 -05:00
Asher
62719ab544
Clean up client API
- Don't use "any" for the API type.
- Remove everything from the Coder API that can eventually be done
  through the VS Code API.
- Move the event emission to our own client to minimize patching.
2019-07-31 17:22:15 -05:00
Asher
8ded89e8d4
Firefox fixes 2019-07-26 17:33:26 -05:00
Asher
4c4a179bce
TLS socket still doesn't work 2019-07-26 17:26:45 -05:00
Asher
329acbb251
Combine main and webview servers 2019-07-23 19:22:10 -05:00
Asher
92daabc75c
Open folder at base URL 2019-07-23 14:55:48 -05:00
Asher
068e07bd5d
Clean up the patch 2019-07-23 13:27:30 -05:00
Asher
09cd1e8540
Make sub-paths work 2019-07-22 18:01:03 -05:00
Asher
e8cb6ffaa0
Implement file uploads 2019-07-19 15:45:12 -05:00
Asher
45d348b03d
Expose API on the client 2019-07-18 18:09:22 -05:00
Asher
b6fdb7d0e7
Telemetry 2019-07-18 18:09:20 -05:00
Asher
68c62087dc
Fix opening snippets 2019-07-18 18:09:14 -05:00
Asher
e22791ec88
Fix interactive playground 2019-07-18 18:09:12 -05:00
Asher
286f9a8978
Implement multiple extension directories 2019-07-18 18:09:12 -05:00
Asher
54ffd1d351
Make extension sidebar work 2019-07-18 18:08:36 -05:00
Asher
c020cd2f2c
Don't try to create builtin extensions directory
Since this will be a path in the binary that we don't want to create on
the user's system. I also removed the option to override it; it doesn't
seem like a great idea since you'd always want those builtin extensions.
This way we also don't have to check if the option was passed and only
create it if that was the case.
2019-05-19 19:49:05 -05:00
Asher
81bbfa7fbe
Suppress "disconnected" notification on extension host
This isn't a real error event; we artificially emit it just in case
something waiting to start is listening to the error event in order to
clean up and/or restart.
2019-05-19 19:21:25 -05:00
Asher
aa1474b675
Extra extensions directories (#694)
* Allow setting paths for builtin exts and extra dirs

The extra directories aren't used yet, just available from the
environment service and to the shared process.

* Utilize extra builtin extensions path

* Utilize extra extensions directory

* Fix cached mtimes for extra extension dirs

* Simplify extension cache equality check
2019-05-19 17:58:47 -05:00
John McCambridge
30b8565e2d Fix markdown preview focus (#546)
* Fix hash

* Remove whitespace
2019-04-23 19:14:52 -05:00
Kyle Carberry
b055a26dc3
Remove log statement from copy 2019-04-23 11:33:42 -04:00
Kyle Carberry
2bc6e1a457
Fix clipboard pasting 2019-04-22 20:20:48 -04:00
Kyle Carberry
166efcb17e Hide titlebar controls and fix menubar toggle (#550) 2019-04-19 19:54:50 -05:00
Kyle Carberry
12c8b5d337
Closes #466 2019-04-19 20:03:52 -04:00
Asher
309d15cefd
Use file/folder open commands for all operating systems
Mac was using its own thing.

- Fixes #535
- Fixes #501
2019-04-18 10:50:23 -05:00
Kyle Carberry
4d576ab4d4
Trigger configuration update when loaded 2019-04-17 21:01:23 -04:00
Asher
630ccfcacc Add flag to install an extension from the command line (#504) 2019-04-17 16:30:50 -05:00
Asher
b8f222acf2
Ensure all environment paths are created
This normally happens in electron-main/main.ts but we don't run anything
from there.

Fixes #499.
2019-04-16 10:58:13 -05:00
Asher
6361635b55
Move backup service init to the shared process
Since this is where it attempts to read it, this should solve the JSON
errors for good.
2019-04-08 11:03:33 -05:00
Kyle Carberry
d2da4cfc43
Fix errors appearing 2019-04-07 17:04:49 -04:00
Asher
a1136b3a02
Update VS Code to 1.33.0 (#445)
* Update VS Code to 1.33.0

* Fix slow file tree

* Fix WindowsService fill

* Provide `off` on event listeners

* Fix webview

* Fix double title bar and missing preferences on Mac

* Bump VS Code version in Travis config

* Fix black dialog text (again)

* Fix shared process not starting
2019-04-05 18:49:29 -05:00
Asher
033ef151ca
Improve retry
Registering returns an instance that lets you retry and recover without
needing to keep passing the name everywhere.

Also refactored the shared process a little to make better use of the
retry and downgraded stderr messages to warnings because they aren't
critical.
2019-04-01 13:31:34 -05:00
Asher
03ad2a17b2 Handle disconnects (#363)
* Make proxies decide how to handle disconnects

* Connect to a new terminal instance on disconnect

* Use our retry for the watcher

* Specify method when proxy doesn't exist

* Don't error when closing/killing disconnected proxy

* Specify proxy ID when a method doesn't exist

* Use our retry for the searcher

Also dispose some things for the watcher because it doesn't seem that
was done properly.

The searcher also now starts immediately so there won't be lag when you
perform your first search.

* Use our retry for the extension host

* Emit error in parent proxy class

Reduces duplicate code. Not all items are "supposed" to have an error
event according to the original implementation we are filling, but there
is no reason why we can't emit our own events (and are already doing so
for the "disconnected" event anyway).

* Reconnect spdlog

* Add error message when shared process disconnects

* Pass method resolve to parse

* Don't pass method to getProxy

It doesn't tell you anything that trace logging wouldn't and has
no relation to what the function actually does.

* Fix infinite recursion when disposing protocol client in tests
2019-03-28 17:59:49 -05:00
Asher
dc2253e718 Refactor evaluations (#285)
* Replace evaluations with proxies and messages

* Return proxies synchronously

Otherwise events can be lost.

* Ensure events cannot be missed

* Refactor remaining fills

* Use more up-to-date version of util

For callbackify.

* Wait for dispose to come back before removing

This prevents issues with the "done" event not always being the last
event fired. For example a socket might close and then end, but only
if the caller called end.

* Remove old node-pty tests

* Fix emitting events twice on duplex streams

* Preserve environment when spawning processes

* Throw a better error if the proxy doesn't exist

* Remove rimraf dependency from ide

* Update net.Server.listening

* Use exit event instead of killed

Doesn't look like killed is even a thing.

* Add response timeout to server

* Fix trash

* Require node-pty & spdlog after they get unpackaged

This fixes an error when running in the binary.

* Fix errors in down emitter preventing reconnecting

* Fix disposing proxies when nothing listens to "error" event

* Refactor event tests to use jest.fn()

* Reject proxy call when disconnected

Otherwise it'll wait for the timeout which is a waste of time since we
already know the connection is dead.

* Use nbin for binary packaging

* Remove additional module requires

* Attempt to remove require for local bootstrap-fork

* Externalize fsevents
2019-03-26 13:01:25 -05:00
Kyle Carberry
277c6cb690
Fix failure to resolve arrays error 2019-03-18 21:05:21 -04:00
Kyle Carberry
400fba7f6f
Fix type import not resolving properly 2019-03-15 00:48:39 -04:00
Asher
e4ff723895
Fix race with watcher & stat
There is a window between when the stat is made and the result makes it
back to the client where a file is created or deleted and it won't be a
part of that stat.

To fix it, I added a new property signaling that we got some changes
since starting the stat and should run the stat again because we have no
way of knowing whether the currently running stat will include the new
changes or not.
2019-03-13 14:04:40 -05:00
Asher
307aa4ae7f
Fix READMEs not loading 2019-03-11 16:20:13 -05:00
Asher
cded51f650
Add back web class
Forgot to move this to the new file when upgrading to 1.32.0.
2019-03-08 12:45:20 -06:00
Asher
36c05ed335 Feature/1.32.0 update (#117)
* Update VS Code to 1.32.0

* Update patch

Most changes are moved files, most notably shell.contribution.ts which
is now main.contribution.ts.

Also:
- repl.ts no longer uses isMacintosh
- shell.ts doesn't exist
- added back the commented-out CSP headers

* Use es6 target for bootstrap-fork

* Directly reference cross-env binary

yarn and npm find the binary just fine when running the tasks from the
root but it doesn't work if you run one of those tasks directly from
within those directories.

* Update import paths and bootstrap-fork ignores

* Increase memory limit for building default extensions

* Fix invalid regex in Firefox

* Update startup function

* Fix global.require error

* Update zip extract arguments

* Update travis to minimum required Node version

* Always chmod executable dependencies

Fixes EACCESS errors for users that had the files unpacked before we
added the chmod call.

* Remove unused var declaration
2019-03-08 08:37:03 -08:00
Kyle Carberry
8916cb9bb2
Update to vscode 1.31.1 (#45) 2019-03-06 11:10:23 -08:00
Asher
d739be18a9
Probably fix Windows keybindings 2019-03-01 17:36:39 -06:00
Asher
c384dfb815 Use Coder marketplace (#44)
* Allow setting marketplace URL

* Add zip fill

* Comment out CSP for now

* Fill zip on client as well

Probably will need it for client-side extensions.

* Don't use itemUrl (it's undefined)

* Remove extension rating

* Hide ratings with CSS instead of patching them out

* Add hard-coded fallback for service URL

* Only use coder-develop for extapi if env is explicitly development

* Don't use coder-develop at all for extapi

If you need it, you can set SERVICE_URL.
2019-03-01 15:51:11 -06:00
Kyle Carberry
e8174095ca
Add windows support (#41)
* Add windows support

* Improve multi-platform support

* Install with network-concurrency 1

* Use file-glob to upload windows binary

* Don't install packages in parallel if on windows

* Rename vscode-remote to code-server

* Add output at intervals so CI doesn't kill build

* Update all tasks to provide timed output

* Don't perform tasks sync otherwise we can't log
2019-02-28 14:04:19 -06:00
Asher
1f3cbc0717
Use client OS to set shell class 2019-02-26 14:31:25 -06:00