81 Commits

Author SHA1 Message Date
d1662d7658 Ensure service workers are supported before use
Fixes #909.
2019-08-15 15:41:04 -05:00
72fe124e30 Fix loading resources in webviews
Fixes #901.
2019-08-15 15:40:02 -05:00
83f86a45b6 Load language bundles on the client 2019-08-14 10:25:31 -05:00
c11d5fe9e6 Fix error when passing empty extra extension dir flag 2019-08-12 14:27:11 -05:00
5539519691 Remove extra slash when opening folder 2019-08-12 11:36:47 -05:00
b566b66590 Fix service worker scope when there is a base path 2019-08-12 11:24:05 -05:00
7389d9e2cb Use current URL for webview 2019-08-12 10:23:08 -05:00
ba7285192c Update VS Code to 1.37.0 2019-08-09 19:23:41 -05:00
b257c60636 Fix websocket defaulting to port 80 when authority has no port 2019-08-08 11:59:07 -05:00
f5a6f14ade Implement update service 2019-08-07 16:18:17 -05:00
7e794bd134 Fix favicon not being included in final build 2019-08-05 13:34:32 -05:00
950bfce420 Add commit, date, and checksums to product.json 2019-08-02 20:29:48 -05:00
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
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
8ded89e8d4 Firefox fixes 2019-07-26 17:33:26 -05:00
4c4a179bce TLS socket still doesn't work 2019-07-26 17:26:45 -05:00
329acbb251 Combine main and webview servers 2019-07-23 19:22:10 -05:00
92daabc75c Open folder at base URL 2019-07-23 14:55:48 -05:00
068e07bd5d Clean up the patch 2019-07-23 13:27:30 -05:00
09cd1e8540 Make sub-paths work 2019-07-22 18:01:03 -05:00
e8cb6ffaa0 Implement file uploads 2019-07-19 15:45:12 -05:00
45d348b03d Expose API on the client 2019-07-18 18:09:22 -05:00
b6fdb7d0e7 Telemetry 2019-07-18 18:09:20 -05:00
68c62087dc Fix opening snippets 2019-07-18 18:09:14 -05:00
e22791ec88 Fix interactive playground 2019-07-18 18:09:12 -05:00
286f9a8978 Implement multiple extension directories 2019-07-18 18:09:12 -05:00
54ffd1d351 Make extension sidebar work 2019-07-18 18:08:36 -05:00
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
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
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
30b8565e2d Fix markdown preview focus (#546)
* Fix hash

* Remove whitespace
2019-04-23 19:14:52 -05:00
b055a26dc3 Remove log statement from copy 2019-04-23 11:33:42 -04:00
2bc6e1a457 Fix clipboard pasting 2019-04-22 20:20:48 -04:00
166efcb17e Hide titlebar controls and fix menubar toggle (#550) 2019-04-19 19:54:50 -05:00
12c8b5d337 Closes #466 2019-04-19 20:03:52 -04:00
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
4d576ab4d4 Trigger configuration update when loaded 2019-04-17 21:01:23 -04:00
630ccfcacc Add flag to install an extension from the command line (#504) 2019-04-17 16:30:50 -05:00
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
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
d2da4cfc43 Fix errors appearing 2019-04-07 17:04:49 -04:00
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
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
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
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
277c6cb690 Fix failure to resolve arrays error 2019-03-18 21:05:21 -04:00
400fba7f6f Fix type import not resolving properly 2019-03-15 00:48:39 -04:00
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
307aa4ae7f Fix READMEs not loading 2019-03-11 16:20:13 -05:00
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