Commit Graph
25009 Commits
Author SHA1 Message Date
Max BrunsfeldandNathan Sobo 90e4622ec7 Allow multiple fake language servers to be started for a given project
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-16 16:10:36 -08:00
Max Brunsfeld 5fb15676ec Fix chat channel unit test
Also, improve error in tests when FakeServer never receives a request,
using the new `start_waiting` method on the DeterministicExecutor.
2022-02-16 13:54:00 -08:00
Max Brunsfeld 380d36e128 Fix duplicate element_state error in tests 2022-02-16 13:52:41 -08:00
Max BrunsfeldandNathan Sobo b656ff841c Avoid storing operations when no buffers are being loaded
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-16 11:54:49 -08:00
Max BrunsfeldandNathan Sobo 9058a71783 In random collaboration test, compare all guests' buffers to the host's buffers
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-16 11:31:53 -08:00
Max BrunsfeldandAntonio Scandurra 905c66d153 Restore synchronization between responses and incoming messages
This removes the need to buffer pending messages in Client.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-16 10:28:32 -08:00
Max BrunsfeldandAntonio 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 ScandurraandNathan 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 SoboandMax 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 BrunsfeldandAntonio 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 ScandurraandNathan Sobo 394caca541 Ensure that zed package version matches git tag before packaging a release
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-14 17:17:48 +01:00
Antonio Scandurra c13ec08feb Merge pull request #446 from zed-industries/assists
Implement code actions
2022-02-14 16:09:20 +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