zed/crates
Antonio Scandurra 9c9bf07e40 Create buffers for remote collaborators out of band
Previously, we would use `Project::serialize_buffer_for_peer` and
`Project::deserialize_buffer` respectively in the host and in the
guest to create a new buffer or just send its ID if the host thought
the buffer had already been sent.

These methods would be called as part of other methods, such as
`Project::open_buffer_by_id` or `Project::open_buffer_for_symbol`.
However, if any of the tasks driving the futures that eventually
called `Project::deserialize_buffer` were dropped after the host
responded with the buffer state but (crucially) before the guest
deserialized it and registered it, there could be a situation where
the host thought the guest had the buffer (thus sending them just the
buffer id) and the guest would wait indefinitely.

Given how crucial this interaction is, this commit switches to creating
remote buffers for peers out of band. The host will push buffers to guests,
who will always refer to buffers via IDs and wait for the host to send them,
as opposed to including the buffer's payload as part of some other operation.
2022-08-17 11:55:36 +02:00
..
activity_indicator One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
assets
auto_update One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
breadcrumbs
chat_panel One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
cli
client One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
clock One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
collab Create buffers for remote collaborators out of band 2022-08-17 11:55:36 +02:00
collections
command_palette One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
contacts_panel Rename {project_panel,contacts_panel}::Toggle to ToggleFocus 2022-08-15 14:53:42 +02:00
context_menu WIP compiling but failing with circular reference 2022-08-09 17:15:52 -07:00
diagnostics One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
editor Merge pull request #1520 from zed-industries/terminal-blink 2022-08-15 18:39:23 -07:00
file_finder One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
fsevent One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
fuzzy One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
go_to_line WIP compiling but failing with circular reference 2022-08-09 17:15:52 -07:00
gpui Add failing unit test for buffer opening cancellation 2022-08-17 11:55:34 +02:00
gpui_macros One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
journal
language Create buffers for remote collaborators out of band 2022-08-17 11:55:36 +02:00
lsp One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
menu
outline One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
picker Address picker issues 2022-08-09 17:15:54 -07:00
plugin One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
plugin_macros Fix minor issues pointed out in the review 2022-07-11 15:54:03 +02:00
plugin_runtime One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
project Create buffers for remote collaborators out of band 2022-08-17 11:55:36 +02:00
project_panel Autoscroll to filename editor when creating or renaming entry 2022-08-15 15:14:42 +02:00
project_symbols Address picker issues 2022-08-09 17:15:54 -07:00
rpc Create buffers for remote collaborators out of band 2022-08-17 11:55:36 +02:00
search One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
settings Added cursor blink and settings 2022-08-15 18:05:07 -07:00
snippet One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
sum_tree One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
terminal Added a hollow mode to the cursor rendering code, for terminal lost focus 2022-08-15 18:27:26 -07:00
text Fix divergence bug in undo/redo 2022-08-17 11:30:04 +02:00
theme Added icons to context menu 2022-08-03 16:47:41 -07:00
theme_selector One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
util One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
vim One big cleanup pass of clippy lints 2022-08-10 16:51:01 -07:00
workspace Clear go-to-def link when deactivating the window 2022-08-15 17:30:41 -07:00
zed remove http-auth-basic dependency 2022-08-16 12:58:53 -07:00