d82411e
Relay the saved mtime when saving a buffer
Antonio Scandurra created
d82411e
Relay the saved mtime when saving a buffer
Antonio Scandurra created
f55718c
Avoid adding the same entry when concurrently opening it more than once
Antonio Scandurra created
f46c0a7
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.
Max Brunsfeld created
7335e70
Use async-tungstenite's built-in TLS connector
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra and Max Brunsfeld created
024684e
Improve logging when there is an error in the RPC layer
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra and Max Brunsfeld created
d0660f4
Remove REST endpoints from zed-rpc
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra and Max Brunsfeld created
cb90022
Use a websocket to connect to the server
Co-Authored-By: Max Brunsfeld <max@zed.dev> Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra , Max Brunsfeld , and Nathan Sobo created
4466b6b
Refactor zed-rpc to work with websockets
Antonio Scandurra created
ee962ea
Revert "Start work on handling TLS for the RPC endpoint"
This reverts commit 193c704875d9d097e5529a63032745641e39b216.
Antonio Scandurra created
193c704
Start work on handling TLS for the RPC endpoint
Max Brunsfeld created
75fc371
Ensure returned URLs are files before returning them in path prompts
Antonio Scandurra created
ed1eb24
Convert URLs to paths returned from `NSSavePanel` using `[Url path]`
Antonio Scandurra created
39d3b21
Convert URLs to paths returned from `NSOpenPanel` using `[Url path]`
Antonio Scandurra created
59fe054
Replace `paths_by_id` with an `entries_by_id` sum tree
Antonio Scandurra created
3ce2bea
Unify maintenance of open buffers into `Worktree::poll_snapshot`
Antonio Scandurra 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