Antonio Scandurra
ee884b25cc
Merge branch 'main' into rpc
2021-06-29 10:25:42 +02:00
Nathan Sobo
f5671b79ad
Redesign Worktree save API and make test_rescan_simple pass
...
This commit does too much. The first goal was to change our approach to saving new buffers so that we don't need to construct a File for an entry that doesn't exist. Rather than doing that, we call `Worktree::save_buffer_as` with the buffer handle, the path, and the contents. This then saves the buffer and returns a handle to a `File` that references an entry that actually exists. I needed to do this so that we can store an entry id on `File`.
In the process, I noticed intermittent test failures on `test_rescan_simple`, so I made some changes required to fix those related to our reuse of existing ids. Our previous approach of removing a path when inserting a new entry was broken, because of the recursive nature of `remove_path`. Instead, I simply recycle the id of an existing worktree entry with the same path if one is present, then allow it to be replaced.
2021-06-28 19:05:38 -06:00
Nathan Sobo and Antonio Scandurra
165ac10d84
Eagerly populate worktree entries on load
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-06-28 12:29:46 -06:00
Antonio Scandurra and Nathan Sobo
f60a54940a
Assign a stable identity to Worktree entries
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-06-28 19:41:33 +02:00
Antonio Scandurra
44273a8153
Restructure RPC state to also keep track of remote worktrees on guests
2021-06-28 15:35:36 +02:00
Antonio Scandurra
97d22397fb
Maintain active selections as editors are focused and blurred
2021-06-28 12:37:58 +02:00
Antonio Scandurra
69b68545ba
Remove selection set when an editor is closed
2021-06-28 11:43:21 +02:00
Max Brunsfeld
00887978c5
Avoid double handle-read in File::buffer_updated
2021-06-25 17:21:42 -07:00
Max Brunsfeld
a87ce7ba29
Always represent anchor as a versioned offset
...
Remove the `Start` and `End` variants, and always
use the structure that was previously called `Middle`.
This makes Anchors simpler to serialize and deserialize.
2021-06-25 17:02:48 -07:00
Max Brunsfeld and Nathan Sobo
48e8f4c169
Send and receive buffer operations
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-06-25 16:26:35 -07:00
Max Brunsfeld
ef9ba32688
Start work on sending buffer operations
2021-06-25 13:46:36 -07:00
Nathan Sobo and Max Brunsfeld
16a7034303
Notify host when guests close buffers
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-06-25 11:33:40 -07:00
Nathan Sobo and Max Brunsfeld
6db1d090b2
Add Entity release hooks
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-06-25 10:35:06 -06:00
Antonio Scandurra
50731eb075
Move remote module from workspace to worktree
2021-06-25 12:14:04 +02:00
Nathan Sobo
fe0e37064e
Merge pull request #97 from zed-industries/limit-bundle-uploads
...
Only upload artifacts to workflow runs on the main branch
2021-06-24 19:07:04 -06:00
Nathan Sobo
9b400a1173
Only upload artifacts to workflow runs on the main branch
...
We're running out of actions storage, and we don't really need an artifact stored for every single build.
2021-06-24 19:02:57 -06:00
Nathan Sobo
48d24b7441
Merge pull request #96 from zed-industries/retry-flaky-tests
...
Add a "retries" option to gpui::test macro and use it in flaky tests
2021-06-24 18:08:06 -06:00
Nathan Sobo
4bd8b64746
Upgrade bindgen to fix warnings on new Rust
2021-06-24 18:02:53 -06:00
Nathan Sobo
d67b451284
Add a "retries" option to gpui::test macro and use it in flaky tests
2021-06-24 17:51:16 -06:00
Antonio Scandurra
7677e38cff
Allow cleaning up connections/handlers state using Peer::reset
2021-06-24 15:58:43 +02:00
Max Brunsfeld
258154b15f
Consolidate more logic for joining worktree in Worktree::remote
...
This way we can use this method in tests and avoid
needing to construct a Workspace.
2021-06-23 18:07:09 -07:00
Max Brunsfeld and Nathan Sobo
d88896380d
Add public method for connecting to RPC server with a given address
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-06-23 18:05:03 -07:00
Max Brunsfeld and Nathan Sobo
9b2a5bee5e
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 Brunsfeld and Nathan Sobo
ddfcaf32a2
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 Brunsfeld and Nathan Sobo
4e9b6f3a95
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
22bc4ca650
Make replica_id optional in OpenWorktreeResponse
2021-06-23 17:32:05 +02:00
Antonio Scandurra
9cf03b5d33
Respond to proto::OpenBuffer requests
2021-06-23 16:20:02 +02:00
Nathan Sobo and Max Brunsfeld
58ee9b72e9
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
a9eb97c222
WIP - Maintain a set of open buffers on a LocalWorktree
2021-06-22 12:29:58 -07:00
Nathan Sobo and Max Brunsfeld
cc434521e3
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 Brunsfeld and Nathan Sobo
61582ca4ad
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 Sobo and Max Brunsfeld
a72ce5e691
Implement worktree::Snapshot::diff
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-06-21 15:08:21 -06:00
Nathan Sobo and Max Brunsfeld
18f9658bfe
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 Sobo and Max Brunsfeld
89a45221a4
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
ae4d9ac6e9
💄
2021-06-21 17:30:08 +02:00
Antonio Scandurra
52b31d30e4
Fix deadlock when comparing FileHandles when handles are the same
2021-06-21 16:18:18 +02:00
Antonio Scandurra
aab07a44aa
Put back worktree_id in CloseFile and OpenBuffer messages
2021-06-21 14:44:01 +02:00
Antonio Scandurra
f283c41d72
WIP: Load remote history
2021-06-21 12:15:58 +02:00
Antonio Scandurra
9ce1cf732e
Issue only one OpenFile and CloseFile request per handle
2021-06-21 12:04:38 +02:00
Max Brunsfeld
aa6a86efe7
Stub in more logic for open_file and close_file
2021-06-20 22:36:01 -07:00
Nathan Sobo and Max Brunsfeld
91fe726467
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-06-18 17:26:12 -06:00
Nathan Sobo and Max 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
8b914262a6
Start work on implementing ::file on remote WorktreeHandles
2021-06-18 13:32:38 -07:00
Antonio Scandurra
1409e5d9b3
WIP
2021-06-18 19:28:39 +02:00
Antonio Scandurra
06ac0a95a8
Add worktree to workspace when joining a remote worktree
2021-06-18 14:52:38 +02:00
Antonio Scandurra
1cefc76f11
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
c292e916c0
Implement Display for ConnectionId
2021-06-17 20:53:20 -07:00
Max Brunsfeld
0b67637a52
Add a name to EnvelopedMessage for logging purposes
2021-06-17 20:48:26 -07:00
Max Brunsfeld
34230ef1ba
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
b20681a257
Use strings for paths and buffer contents
2021-06-17 16:25:30 -07:00