b53eacc
Merge pull request #1530 from zed-industries/robust-buffer-relaying
Click to expand commit body
Create buffers for remote collaborators out of band
Antonio Scandurra
created
9c9bf07
Create buffers for remote collaborators out of band
Click to expand commit body
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.
Antonio Scandurra
created
75c9b90
Add failing unit test for buffer opening cancellation
Antonio Scandurra
created
eddab33
Merge pull request #1529 from zed-industries/undo-divergence
As part of #1405, we changed the way we performed undo and redo to
support combining transactions that were not temporally adjacent for
IME purposes.
We introduced a bug with that release that caused divergence
when performing undo: the bug was caused by only changing the visibility
of fragments whose insertion id was contained in the undo operation. However,
an undo operation also affects deletions which we were mistakenly not
considering. Randomized tests caught this but I guess we didn't run enough
of them.
Antonio Scandurra
created
da805b3
Merge pull request #1526 from zed-industries/crash-on-file-prompt-with-japanese-keyboard-layout
Click to expand commit body
Fix crash when attempting to show file prompt while using Japanese keyboard layout