Commit Graph
4687 Commits
Author SHA1 Message Date
Max BrunsfeldandNathan Sobo 54c4b31249 Fix last usage of App::test_async in one test
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-23 18:05:03 -07:00
Max BrunsfeldandNathan Sobo efc8bc3124 Add a test-support feature flag that enables compilation of zed::test module
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-23 18:05:03 -07:00
Max BrunsfeldandNathan Sobo a57cb2b189 Add a public gpui::TestAppContext::new method
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-23 16:34:36 -07:00
Antonio Scandurra f1587fbb6e Make replica_id optional in OpenWorktreeResponse 2021-06-23 17:32:05 +02:00
Antonio Scandurra 02321af08a Respond to proto::OpenBuffer requests 2021-06-23 16:20:02 +02:00
Nathan SoboandMax Brunsfeld c5e08b6548 Eagerly update worktree entries when saving
Don't use ModelHandles for storing Files.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-22 17:53:35 -07:00
Max Brunsfeld dc8e216fcb WIP - Maintain a set of open buffers on a LocalWorktree 2021-06-22 12:29:58 -07:00
Nathan SoboandMax Brunsfeld a364839e93 Replace FileHandle with File entity that subscribes to Worktree update events
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-21 20:40:40 -06:00
Max BrunsfeldandNathan Sobo cabf6b1f58 Emit a diff event when worktree's snapshot is updated
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-21 17:07:56 -07:00
Nathan SoboandMax Brunsfeld 8ae5c0d7d6 Implement worktree::Snapshot::diff
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-21 15:08:21 -06:00
Nathan SoboandMax Brunsfeld 1364ba6f5e Allow async background work when polling worktree background snapshot
This prepares us to perform a diff against the previous snapshot before installing a new worktree snapshot on the foreground thread.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-21 14:03:29 -06:00
Nathan SoboandMax Brunsfeld 986afd26e9 Remove other_mount_paths
We only needed this when we relied on inodes for file identity, which we no longer attempt to do.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-21 13:06:29 -06:00
Antonio Scandurra 5c0f4e572f 💄 2021-06-21 17:30:08 +02:00
Antonio Scandurra 7489e86c47 Fix deadlock when comparing FileHandles when handles are the same 2021-06-21 16:18:18 +02:00
Antonio Scandurra 95024c616e Put back worktree_id in CloseFile and OpenBuffer messages 2021-06-21 14:44:01 +02:00
Antonio Scandurra 2905ce3ba7 WIP: Load remote history 2021-06-21 12:15:58 +02:00
Antonio Scandurra f4d6fbe14f Issue only one OpenFile and CloseFile request per handle 2021-06-21 12:04:38 +02:00
Max Brunsfeld 96c118b4df Stub in more logic for open_file and close_file 2021-06-20 22:36:01 -07:00
Nathan SoboandMax Brunsfeld 0deaa3a61d WIP
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-18 17:26:12 -06:00
Nathan SoboandMax Brunsfeld 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 a2a6d67e1e Start work on implementing ::file on remote WorktreeHandles 2021-06-18 13:32:38 -07:00
Antonio Scandurra f9d8e952f2 WIP 2021-06-18 19:28:39 +02:00
Antonio Scandurra 89d25458ac Add worktree to workspace when joining a remote worktree 2021-06-18 14:52:38 +02:00
Antonio Scandurra 79cac1340e Replace Worktree with an enum
For now this enum only contains a `Local` variant, but the next step is
to add a `Remote` variant that will be constructed when joining a remote
worktree.
2021-06-18 12:07:57 +02:00
Max Brunsfeld 7a66cd1ae1 Implement Display for ConnectionId 2021-06-17 20:53:20 -07:00
Max Brunsfeld cdfb33b283 Add a name to EnvelopedMessage for logging purposes 2021-06-17 20:48:26 -07:00
Max Brunsfeld 7a88e44264 Add menu command to join worktree using URL on clipboard
Introduce rpc::Client struct that wraps zed_rpc::Peer
2021-06-17 20:42:36 -07:00
Max Brunsfeld 3a78f053f6 Use strings for paths and buffer contents 2021-06-17 16:25:30 -07:00
Max BrunsfeldandAntonio Scandurra f4dccc5353 Replace POST /worktrees rest endpoint with GET /rpc-address
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-17 16:11:54 -07:00
Max Brunsfeld 2fd0f0be50 Make TypedEnvelope fields public 2021-06-17 15:54:55 -07:00
Max Brunsfeld a3c938cc77 Ignore message-handling error in disconnect unit test 2021-06-17 15:20:56 -07:00
Max Brunsfeld 531443dc9c Don't generate bindgen layout tests 2021-06-17 15:20:12 -07:00
Max BrunsfeldandNathan Sobo 05a662b35e Allow peers to receive individual messages before starting message loop
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-17 14:19:15 -07:00
Antonio Scandurra 4d28d03e3f Rename handle_message to on_message 2021-06-17 17:25:10 +02:00
Antonio Scandurra 82ac7e2072 Move handle_messages into an extension method for Arc<Peer> 2021-06-17 16:32:28 +02:00
Antonio Scandurra d243395e06 Use an i32 for user_id in RPC authentication message 2021-06-17 14:51:06 +02: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
Max Brunsfeld fb736d5e78 Remove peer message listeners when their receiver is dropped 2021-06-16 17:02:40 -07:00
Antonio ScandurraandNathan Sobo 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 ScandurraandNathan Sobo 5e4872fdf8 Replace Request and Message with a single TypedEnvelope
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-16 17:43:53 +02:00
Antonio Scandurra 8112efd522 Replace callback-based requests/messages with streams 2021-06-16 14:26:54 +02:00
Max Brunsfeld 8b66e0aa7e WIP - Allow RpcClient to register handlers for incoming messages 2021-06-15 17:22:48 -07:00
Max BrunsfeldandNathan Sobo d3a3ad2820 Remove gpui dependency from rpc_client
Also, avoid any contention between connections.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-15 15:18:40 -07:00
Max Brunsfeld 3db215418c Allow RpcClient to encapsulate arbitrarily many connections 2021-06-15 14:12:42 -07:00
Max BrunsfeldandNathan Sobo e88f33851e Flatten protobuf message namespace
* Remove `FromClient`/`FromServer` distinction.
* Remove `subscribe` concept - clients will need to handle
  unprompted messages from the server.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-15 13:06:50 -07:00
Max Brunsfeld 38891070e7 Merge pull request #91 from zed-industries/fix-save
Ensure all bytes are written when saving a buffer
2021-06-15 09:19:07 -07:00
Antonio Scandurra 37cc1e8e83 Ensure all bytes are written when saving a buffer 2021-06-15 17:20:36 +02:00
Antonio Scandurra 546ce14cb9 Start sharing paths with the server via RPC 2021-06-15 16:14:08 +02:00
Antonio Scandurra cf67fc6589 Simplify saving RpcClient by removing the generic connection param 2021-06-15 15:36:58 +02:00
Antonio Scandurra 3e391c0785 Move worktree sharing down into Workspace
This will make it easier to pick a worktree and give it an `RpcClient`.
2021-06-15 15:14:17 +02:00