Commit Graph
111 Commits
Author SHA1 Message Date
Antonio Scandurra 6cdcb4fa79 Move sidebar-specific code out of Workspace 2021-10-05 10:59:20 +02:00
Max BrunsfeldandNathan Sobo 06a44e9171 Move ChannelList, UserStore into client crate
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-04 17:30:11 -07:00
Max BrunsfeldandNathan Sobo 95c15b11b1 Rename rpc_client -> client
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-04 17:14:21 -07:00
Max BrunsfeldandNathan Sobo 95010ee295 Rename worktree crate to project, pull in Project
Also, move the high-level fuzzy mathcing functions in
zed::fuzzy into the fuzzy crate so that project can
use them.

This required defining a 'PathMatchCandidateSet' trait
to avoid a circular dependency from fuzzy to worktree.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-04 16:45:05 -07:00
Max BrunsfeldandNathan Sobo 4e31762075 Move editor into its own crate
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-04 15:23:10 -07:00
Nathan SoboandMax Brunsfeld 8e0cb6bec3 Rename zrpc to rpc
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-10-04 13:28:00 -06:00
Nathan SoboandMax Brunsfeld 2ebd2723de 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 c91d096528 Pull out buffer into its own crate 2021-10-04 16:50:12 +02:00
Antonio Scandurra 50a6fc5648 Extract a clock subcrate for logical clocks 2021-10-04 14:34:02 +02:00
Nathan SoboandMax Brunsfeld 76bd0d590c 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 SoboandMax Brunsfeld 1e59e9f3a8 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 3ee228d2e8 Use published prost crates
The previous version of prost didn't build on nightly rust.
2021-09-30 15:37:04 -07:00
Max BrunsfeldandAntonio Scandurra 9d2380fa52 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 057c1a7a22 Re-send pending messages after reconnecting 2021-09-16 16:23:43 +02:00
Nathan SoboandMax Brunsfeld c35d8f969c 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 a661818afb 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 ScandurraandNathan Sobo d65eb7f204 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 SoboandMax Brunsfeld e541e06cdc 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 614b16e79b Start on image rendering 2021-09-14 16:48:44 +02:00
Antonio Scandurra c7f0983acd 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 ScandurraandMax Brunsfeld 2d1d6daeb8 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 ScandurraandNathan Sobo b5c3798c39 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 00d3e24c94 Indicate the key-path to the error when failing to load a theme 2021-08-26 15:06:05 -07:00
Max Brunsfeld f1defa8991 WIP 2021-08-25 15:22:14 -07:00
Antonio Scandurra b6a91d0c0c Move LineWrapper into gpui 2021-08-25 10:43:54 +02:00
Nathan Sobo 9f69d8ce2b WIP: Move sum_tree module into gpui so we can use it in List 2021-08-20 16:18:39 -06:00
Max BrunsfeldandNathan Sobo 25fb1ead35 Implement initial RPC endpoints for chat
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-06 13:43:06 -07:00
Max BrunsfeldandNathan Sobo 8c27ccacce 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 e438010a18 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
7efff39465 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
78dbafb1d0 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 5e6952fa71 Use an executor::Background in AppContext::thread_pool 2021-07-13 14:06:38 +02:00
Antonio Scandurra 350e3f03fb Allow printing a trace of a run of the executor 2021-07-13 12:31:36 +02:00
Nathan SoboandMax Brunsfeld 63a3574bc1 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 42665e77ff Restructure Peer to handle connections' messages in order 2021-07-09 16:27:34 -07:00
Antonio Scandurra 4060e71503 Extract an Fs trait in Worktree 2021-07-09 10:58:07 +02:00
Max Brunsfeld ecb89df940 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 ScandurraandMax Brunsfeld c76749ffe2 Use async-tungstenite's built-in TLS connector
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-07 19:55:26 +02:00
d7f17801bd 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 9608087523 Refactor zed-rpc to work with websockets 2021-07-07 18:23:18 +02:00
Antonio Scandurra 33dc149ccc Revert "Start work on handling TLS for the RPC endpoint"
This reverts commit 6488cb4342.
2021-07-07 15:19:00 +02:00
Max Brunsfeld 6488cb4342 Start work on handling TLS for the RPC endpoint 2021-07-06 16:27:57 -07:00
Antonio Scandurra 5c3288f813 Replace paths_by_id with an entries_by_id sum tree 2021-07-06 12:41:31 +02:00
d18e78edc7 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 ee884b25cc Merge branch 'main' into rpc 2021-06-29 10:25:42 +02:00
Nathan Sobo 4bd8b64746 Upgrade bindgen to fix warnings on new Rust 2021-06-24 18:02:53 -06:00
Nathan SoboandMax Brunsfeld ae757bb736 Update prost to include our changes
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-18 15:12:22 -06:00
Max Brunsfeld 4047b8ede5 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 ScandurraandNathan Sobo a11c5e35c4 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 ScandurraandMax Brunsfeld 03b21ebaf8 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