58eefcd
Add ModelHandle::spawn_weak, fix worktree leak from spawn call
Max Brunsfeld created
58eefcd
Add ModelHandle::spawn_weak, fix worktree leak from spawn call
Max Brunsfeld created
65e4e78
Add unit test for worktree update messages, fix minor issues
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
73db910
Process remote worktree updates in the background
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo and Max Brunsfeld created
036dcd5
Start on applying remote worktree updates in the background
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo and Max Brunsfeld created
53adaa7
Propagate file system changes to remote worktrees
Antonio Scandurra created
2a779d3
Rename `{Add,Remove}Guest` to `{Add,Remove}Peer`
Antonio Scandurra created
61222b4
Expose `Client::disconnect` to force disconnection
Antonio Scandurra created
899b9cd
Avoid deadlocks on rpc state by switching to an RwLock
Max Brunsfeld created
08991db
Implement Copy for peer::Receipt
Max Brunsfeld created
a7f812e
Avoid circular model update in save_buffer handler
Max Brunsfeld created
86b9ab4
Construct remote worktree snapshots in the background
Max Brunsfeld created
569a4a1
WIP: Save remote buffers
Antonio Scandurra created
b8bddd6
Fix tests
Antonio Scandurra created
7ae1d9e
Send also the currently active selection sets when serializing a buffer
Antonio Scandurra created
9d51fe8
Serialize RPC sends and responses using a channel
Max Brunsfeld created
42f7867
Avoid spurious error logging when host edits buffers not open by guests
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
e95936c
Fix memory leak of `Editor` due to blinking cursors
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
da7bd84
Report `SelectionSet` deletion operations correctly
Antonio Scandurra created
c881c7f
Start on rendering remote selections
Antonio Scandurra created
e070652
Expose `Worktree::{peers,replica_id}`
Antonio Scandurra created
ed9036f
Send a `CloseWorktree` message when a shared `Worktree` is dropped
Antonio Scandurra created
1d53d43
Store online peers when joining a worktree
Antonio Scandurra created
7704291
Maintain a set of peers as they join and leave the worktree
Antonio Scandurra created
ab089b6
Avoid logging errors in RPC message handlers
The `on_message` helper already logs when an error occurs.
Antonio Scandurra created
8e5e354
:lipstick:
Antonio Scandurra created
3c8aa0e
Move `remote::update_buffer` main logic into `Worktree::update_buffer`
Antonio Scandurra created
0fde7a5
Store shared buffers on LocalWorktree
It's okay for our domain objects to model remote state. We should minimize what we need to store in the rpc::ClientState struct.
Nathan Sobo created
bbf803d
Store a reference to the LangageRegistry on the Worktree
Nathan Sobo created
34963ac
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>
Nathan Sobo , Max Brunsfeld , and Antonio Scandurra created
e80439d
Merge branch 'main' into rpc
Antonio Scandurra created
b7a4393
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.
Nathan Sobo created
1793eda
Eagerly populate worktree entries on load
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Nathan Sobo and Antonio Scandurra created
958345b
Assign a stable identity to Worktree entries
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
65aa973
Restructure RPC state to also keep track of remote worktrees on guests
Antonio Scandurra created
e72b4ae
Maintain active selections as editors are focused and blurred
Antonio Scandurra created
0bc8663
Remove selection set when an editor is closed
Antonio Scandurra created
e2b9ab5
Avoid double handle-read in File::buffer_updated
Max Brunsfeld created
60ee97b
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.
Max Brunsfeld created
b9952ba
Send and receive buffer operations
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
04c8057
Start work on sending buffer operations
Max Brunsfeld created
7ee0862
Notify host when guests close buffers
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo and Max Brunsfeld created
2257abd
Add Entity release hooks
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo and Max Brunsfeld created
d59267a
Move `remote` module from `workspace` to `worktree`
Antonio Scandurra created
3ba2223
Merge pull request #97 from zed-industries/limit-bundle-uploads
Only upload artifacts to workflow runs on the main branch
Nathan Sobo created
0faabc2
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.
Nathan Sobo created
c4729de
Merge pull request #96 from zed-industries/retry-flaky-tests
Add a "retries" option to gpui::test macro and use it in flaky tests
Nathan Sobo created
8f7111b
Upgrade bindgen to fix warnings on new Rust
Nathan Sobo created
3d67266
Add a "retries" option to gpui::test macro and use it in flaky tests
Nathan Sobo created
779dbf8
Allow cleaning up connections/handlers state using `Peer::reset`
Antonio Scandurra created
ce2f3f6
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.
Max Brunsfeld created