Commit Graph

86 Commits

Author SHA1 Message Date
Asher 3e2d12a224
Fix scrolling on Firefox 2019-08-22 11:33:58 -05:00
Asher c2be0ec71b
Fix Firefox when using extensions that insert styles 2019-08-21 10:29:37 -05:00
Asher 534600c1ff
Don't error when scanning nonexistent extension dir 2019-08-20 19:16:44 -05:00
Asher b4e1a62cb4
Fix tasks
Fixes #898.
2019-08-16 15:06:59 -05:00
Asher 6737384d27
Handle existing query when opening folder 2019-08-15 17:28:02 -05:00
Asher d1662d7658
Ensure service workers are supported before use
Fixes #909.
2019-08-15 15:41:04 -05:00
Asher 72fe124e30
Fix loading resources in webviews
Fixes #901.
2019-08-15 15:40:02 -05:00
Asher 83f86a45b6
Load language bundles on the client 2019-08-14 10:25:31 -05:00
Asher c11d5fe9e6
Fix error when passing empty extra extension dir flag 2019-08-12 14:27:11 -05:00
Asher 5539519691
Remove extra slash when opening folder 2019-08-12 11:36:47 -05:00
Asher b566b66590
Fix service worker scope when there is a base path 2019-08-12 11:24:05 -05:00
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