Commit Graph

105 Commits

Author SHA1 Message Date
Nathan Sobo
c236b0828c Extract worktree, rpc_client, and util crates
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-10-04 13:07:35 -06:00
Antonio Scandurra
becae9feee Pull out buffer into its own crate 2021-10-04 16:50:12 +02:00
Antonio Scandurra
034aed053c Extract a clock subcrate for logical clocks 2021-10-04 14:34:02 +02:00
Nathan Sobo
74a47a1384 Extract fuzzy module to its own crate
We still have a fuzzy module in the zed crate with some app-specific logic.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-10-01 17:08:19 -06:00
Nathan Sobo
cf270b4dff Extract sum_tree to its own crate
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-10-01 15:55:21 -06:00
Max Brunsfeld
3719a9ee23 Use published prost crates
The previous version of prost didn't build on nightly rust.
2021-09-30 15:37:04 -07:00
Max Brunsfeld
8bfee93be4 Start work on compressing RPC messages
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-09-23 18:26:42 +02:00
Antonio Scandurra
8973e250ca Re-send pending messages after reconnecting 2021-09-16 16:23:43 +02:00
Nathan Sobo
95ef70e4f4 Switch to new resolution system in ThemeRegistry
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-15 12:56:20 -06:00
Nathan Sobo
7d59b2d861 Log panics when not attached to a pty
Hopefully this will give us better forensics if we panic in production.
2021-09-15 04:51:22 -06:00
Antonio Scandurra
603f1d820d Authenticate via the browser if keychain credentials are invalid
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-15 11:45:08 +02:00
Nathan Sobo
4a9918979e WIP: Clear cached credentials if authentication fails
Still need to actually handle an HTTP response from the server indicating there was an invalid token.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 19:19:11 -06:00
Antonio Scandurra
96ade8668f Start on image rendering 2021-09-14 16:48:44 +02:00
Antonio Scandurra
00f6bdcb24 Bundle and use Inconsolata v2.012
There's a newer version of the font available but ligatures seem
broken googlefonts/Inconsolata#58 and googlefonts/Inconsolata#52.

As part of this commit I also upgraded rust-embed to use the new
exclusion feature, which allows us to skip embedding OS files like
`.DS_Store`.
2021-09-04 17:02:20 +02:00
Antonio Scandurra
f59e02cf25 Use macOS API to retrieve the local timezone
The `time` crate currently doesn't have a reliable way to get that.
In the future, `NSSystemTimeZoneDidChangeNotification` could be
used to keep the cached timezone up-to-date.

Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-02 19:15:05 +02:00
Antonio Scandurra
a27a17b8e2 Make scrolling up in chat panel smoother
This increases the threshold at which we start loading new messages
as well as the amount of messages we get back from the server every
time we fetch.

Also, we restructured the seed binary to use the methods in `Db` to
generate seed data and added random chat messages.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-02 16:05:34 +02:00
Max Brunsfeld
8c85bc20c7 Indicate the key-path to the error when failing to load a theme 2021-08-26 15:06:05 -07:00
Max Brunsfeld
b923f65a63 WIP 2021-08-25 15:22:14 -07:00
Antonio Scandurra
463284f0af Move LineWrapper into gpui 2021-08-25 10:43:54 +02:00
Nathan Sobo
c3dda14490 WIP: Move sum_tree module into gpui so we can use it in List 2021-08-20 16:18:39 -06:00
Max Brunsfeld
4a32bd6bb0 Implement initial RPC endpoints for chat
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-06 13:43:06 -07:00
Max Brunsfeld
e080739d57 Remove use of replace_with crate for managing element lifecycles
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-02 13:11:11 -07:00
Nathan Sobo
64927abbc4 Allow DeterministicExecutor to park until forbid_parking is called
This allows us to perform async setup such as talking to the database.
2021-07-20 12:22:02 -06:00
Antonio Scandurra
3d3a14b650 Add DeterministicExecutor::block_on(duration, future)
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-20 19:20:50 +02:00
Antonio Scandurra
391ad489ff Rename zed-rpc to zrpc
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-13 18:22:00 +02:00
Antonio Scandurra
f836a25500 Use an executor::Background in AppContext::thread_pool 2021-07-13 14:06:38 +02:00
Antonio Scandurra
68f747d6df Allow printing a trace of a run of the executor 2021-07-13 12:31:36 +02:00
Nathan Sobo
1537500fcb Include contents of the zed-server repo
We're going full monorepo.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-12 14:14:39 -06:00
Max Brunsfeld
eeebc761b6 Restructure Peer to handle connections' messages in order 2021-07-09 16:27:34 -07:00
Antonio Scandurra
4dae17a4cf Extract an Fs trait in Worktree 2021-07-09 10:58:07 +02:00
Max Brunsfeld
f46c0a790e Improve support for gpui tests that need multiple contexts
If a test function takes multiple contexts, pass it however many
distinct contexts are needed. Construct each one with a different
starting entity id so that they do not share any entity ids.
2021-07-07 17:18:42 -07:00
Antonio Scandurra
7335e70eb7 Use async-tungstenite's built-in TLS connector
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-07 19:55:26 +02:00
Antonio Scandurra
cb9002254f Use a websocket to connect to the server
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-07 18:49:38 +02:00
Antonio Scandurra
4466b6b76a Refactor zed-rpc to work with websockets 2021-07-07 18:23:18 +02:00
Antonio Scandurra
ee962eab9b Revert "Start work on handling TLS for the RPC endpoint"
This reverts commit 193c704875.
2021-07-07 15:19:00 +02:00
Max Brunsfeld
193c704875 Start work on handling TLS for the RPC endpoint 2021-07-06 16:27:57 -07:00
Antonio Scandurra
59fe0549cc Replace paths_by_id with an entries_by_id sum tree 2021-07-06 12:41:31 +02:00
Nathan Sobo
34963ac80d Use entry_id on File instead of worktree::Diff to detect when buffers' files change
Rather than computing a diff after processing a batch of FSEvents, we instead detect renames as we're inserting entries. We store an entry_id on the File object that is owned by each buffer, and use this to detect when the path of the File has changed.

We now also manage all File-related state and event emission for Buffers in the LocalWorktree, since the logic will need to be totally different in the remote case.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-29 18:19:38 -06:00
Antonio Scandurra
e80439daaa Merge branch 'main' into rpc 2021-06-29 10:25:42 +02:00
Nathan Sobo
8f7111b0f7 Upgrade bindgen to fix warnings on new Rust 2021-06-24 18:02:53 -06:00
Nathan Sobo
bfccb173c4 Update prost to include our changes
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-18 15:12:22 -06:00
Max Brunsfeld
c5cec247c4 Fix termination of peer's incoming future
* Re-enable peer tests
* Enhance request/response unit test to exercise
  peers interacting with each other end-to-end
2021-06-16 21:18:22 -07:00
Antonio Scandurra
9de4d73ffb Move RpcClient to zed_rpc and rename it to Peer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-16 18:01:26 +02:00
Antonio Scandurra
a87d4db155 Change RpcClient methods to take shared references
This will make it easier to spawn a future on gpui's executors
when calling `RpcClient` methods.

Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-06-14 19:59:46 +02:00
Max Brunsfeld
86ff599285 Use tiny_http for handling login HTTP request
Our manual HTTP parsing and encoding was not working with Safari.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-11 10:28:00 -07:00
Max Brunsfeld
20542f54ef Start work on connecting to RPC endpoint
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-10 22:12:04 -07:00
Max Brunsfeld
a10f4bb4ff Introduce zed_rpc::proto module containing protobuf stream logic
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-09 13:19:12 -07:00
Max Brunsfeld
327c20510b Introduce zed-rpc with some shared auth utilities 2021-06-08 13:07:06 -07:00
Max Brunsfeld
db3e01a12c Start work on a login command
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-07 18:15:11 -07:00
Max Brunsfeld
7339b9bce7 Bump Tree-sitter
Pass ranges to `set_byte_range`, `set_point_range`

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-28 14:25:30 -07:00