Max Brunsfeld and Antonio Scandurra
07cf29887d
Distinguish between "foreground" and "background" RPC messages
...
Some types of messages, which entail state updates on the host, should be
processed in the order that they were sent. Other types of messages should
not block the processing of other messages.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-16 10:01:23 -08:00
f9310dfcbb
Add a Test message that we can use to assert on the behavior of Peer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-02-16 18:32:03 +01:00
Antonio Scandurra and Nathan Sobo
f0d18ddaab
Close buffers in randomized integration test
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-16 17:56:27 +01:00
Antonio Scandurra
1eb9f1d773
Print the correct seed on randomized test failure
2022-02-16 16:29:45 +01:00
Antonio Scandurra
1ea3c507de
Clean db pool on drop only if assertions fail or it's the last iteration
2022-02-16 15:07:41 +01:00
Antonio Scandurra
611fd09c27
Ensure worktree updates are observed in order on the server
2022-02-16 14:05:10 +01:00
Antonio Scandurra
04fbd0c22c
Compare only snapshot's essential state in random collaboration test
2022-02-16 13:39:55 +01:00
Antonio Scandurra
cc7e5eadab
Don't send worktree updates until the initial share is done
2022-02-16 12:23:06 +01:00
Antonio Scandurra
7233c5fd01
Buffer messages in Client while no entity is listening to them
2022-02-16 11:49:37 +01:00
Max Brunsfeld and Nathan Sobo
5442f09c07
WIP - Register client RPC handlers on app startup
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-15 18:03:06 -08:00
Max Brunsfeld and Nathan Sobo
0abb37d63a
Add AnyWeakModelHandle
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-15 17:56:50 -08:00
Max Brunsfeld
5cdf498001
In random collaboration test, add failing assertion for worktree convergence
2022-02-15 14:55:38 -08:00
Antonio Scandurra
fade2ba0c9
Start on a randomized integration test
2022-02-15 17:33:43 +01:00
Antonio Scandurra
36574d1941
Don't render sample item twice in UniformList
2022-02-15 12:02:58 +01:00
Antonio Scandurra
8d3b696cc4
Fix panic caused by reusing the same handler for diagnostic status
2022-02-15 10:49:03 +01:00
Antonio Scandurra
f2877678e1
Wait for request and response version before resolving completions
2022-02-15 10:17:35 +01:00
Antonio Scandurra
c483bc64ad
Render "Sign in" label only for current user
2022-02-15 09:17:32 +01:00
Max Brunsfeld
cbbe231869
WIP - Wait for code action anchors to be valid
2022-02-14 18:05:43 -08:00
Max Brunsfeld and Nathan Sobo
f508b135e1
Include the desired version in a SaveBuffer RPC request
...
When handling this messages on the host, wait until the desired
version has been observed before performing the save.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-14 17:51:26 -08:00
Max Brunsfeld and Nathan Sobo
8869784f51
Ensure worktree updates are applied in order
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-14 16:19:29 -08:00
Nathan Sobo and Max Brunsfeld
da5b0ae77c
Wait for buffer if it doesn't exist when deserializing a reference
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-02-14 15:55:37 -07:00
Max Brunsfeld and Nathan Sobo
e5466464ac
Fix mouse event handler for code actions indicator
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-14 14:06:55 -08:00
Max Brunsfeld and Nathan Sobo
6de4302266
Panic if element state is used twice in the same frame
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-14 14:04:27 -08:00
Max Brunsfeld and Nathan Sobo
50aa5a8752
Get chat integration tests passing
...
* Don't send a chat message before the previous chat message
is acknowledged.
* Fix emitting of notifications in RPC server
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-14 12:38:10 -08:00
Max Brunsfeld
b1a99e7d06
Restore logic for storing operations on buffers that are still being opened
2022-02-14 11:59:22 -08:00
Max Brunsfeld and Antonio Scandurra
a1d42938b6
Remove logic for preserving RPC message order between peers
...
* On the server, spawn a separate task for each incoming message
* In the peer, eliminate the barrier that was used to enforce ordering
of responses with respect to other incoming messages
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-14 10:51:12 -08:00
Antonio Scandurra
16ce316b77
Request code actions inside of task to avoid spamming the LSP
2022-02-14 17:49:03 +01:00
Antonio Scandurra
a6abfe8f89
v0.15.0
2022-02-14 17:26:40 +01:00
Antonio Scandurra
22800b4f88
Use selection instead of just the cursor when fetching code actions
2022-02-14 14:13:36 +01:00
Antonio Scandurra
04e0b7f5fc
Add integration test for code actions
2022-02-14 11:42:56 +01:00
Antonio Scandurra
b6a34a0886
Implement Server::add_request_handler in terms of ::add_message_handler
2022-02-14 09:31:31 +01:00
Antonio Scandurra
7f44520436
Rename subscribe to add_{message,request}_handler in Client
...
This makes it easier to distinguish between messages and requests.
2022-02-14 09:25:31 +01:00
Antonio Scandurra
2fa50883d4
🎨
2022-02-14 09:22:10 +01:00
Antonio Scandurra
641bc43710
Pass write(true) when creating a file in RealFs
2022-02-14 09:12:32 +01:00
Antonio Scandurra
8fca79272a
Ensure client always responds when receiving a request
2022-02-13 12:21:35 +01:00
Antonio Scandurra
3dee00e928
Ensure server always responds when receiving a request
2022-02-13 10:21:01 +01:00
Antonio Scandurra
cc7f0123a1
WIP: Start auditing all forward_request calls on the server
...
When the host returns an error after a server has forwarded a request,
we want to surface that error to the guest. At the moment, the server
just returns early leaving some requests unresponded on the guest.
I started auditing all the code paths where we do that, but I am
wondering whether there's some other approach that would prevent us
from repeating this mistake in other code paths.
2022-02-12 14:12:13 +01:00
Antonio Scandurra
412645717a
Deserialize buffers synchronously when deserializing project transaction
...
On guests, this ensures we never miss updates to subsequent buffers in
the project transaction that arrive while we're waiting for edits on a
prior buffer in the transaction.
2022-02-12 13:56:07 +01:00
Antonio Scandurra
c5ec161647
Proceed with saving a buffer even if formatting fails
2022-02-12 13:02:19 +01:00
Antonio Scandurra
8847f4dff8
Refresh diagnostics and code actions more selectively
2022-02-12 13:01:55 +01:00
Antonio Scandurra
e6860b3c00
Reduce number of iterations on test_editing_while_guest_opens_buffer
...
I think this was mistakenly increased as part of some other change.
2022-02-12 13:01:18 +01:00
Antonio Scandurra
c1f875c784
Make test_propagate_saves_and_fs_changes more robust
...
...by using a condition that awaits on the actual paths as opposed
to the simple file counts.
2022-02-12 12:37:51 +01:00
Antonio Scandurra
4e8b470bc6
Remove stray log statements
2022-02-12 12:32:57 +01:00
Antonio Scandurra
06f54fb050
Fix integration test verifying the rename behavior
...
Specifically, the test now ensures that the host's worktree observes a/file1's
change event *before* the rename occurs, otherwise when interpreting the change
event it will mistakenly think that the file has been deleted (because its path
has changed) and will subsequently fail to detect the rename, causing the test
to fail.
2022-02-12 12:26:39 +01:00
Antonio Scandurra
81d4457bcb
Apply worktree updates in the order they were received
2022-02-12 11:56:20 +01:00
Antonio Scandurra
9579835699
Ensure response barrier is always dropped, even if request is canceled
2022-02-12 10:23:50 +01:00
Max Brunsfeld
5ada39c46c
Adjust multibuffer history test to reflect new behavior
2022-02-11 16:55:00 -08:00
Max Brunsfeld
7c1cc69cd3
Reduce logging in lsp tests
2022-02-11 16:37:50 -08:00
Max Brunsfeld
66ce2519e7
Remove Buffer::apply_lsp_edits
...
Always use `edits_from_lsp`.
2022-02-11 16:22:19 -08:00
Max Brunsfeld
72b1aafb63
Inline MultiBuffer::format
...
Put all the logic in Editor. Add an `all_buffers` method so the editor can
format all of the buffers by itself.
2022-02-11 16:22:19 -08:00