Antonio Scandurra
c06e5f3d1e
Limit incoming size to 1 in tests to more easily simulate backpressure
2022-04-12 09:43:36 +02:00
Antonio Scandurra
3844634765
Hold the state lock while responding to guest joining a project
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-11 19:30:52 +02:00
Antonio Scandurra
9a8b0388fa
Replace synchronous Store
lock with an async lock
...
This also fixes some failures due to `broadcast` and `update_contacts_for_users`
being fallible. As part of this commit, these two functions don't return `Result`
anymore: the reason for this change is that we don't want a request to fail only
because a peer disconnected while we were trying to broadcast a message to them.
2022-04-11 17:56:30 +02:00
Antonio Scandurra
273ee0ae58
Acquire guest connection ids after save request has been forwarded
...
This fixes a bug that would cause the server to broadcast the save
message to guests that have potentially left the project.
2022-04-11 16:27:14 +02:00
Antonio Scandurra
c3927c541f
Simulate random guest disconnection and reconnection
2022-04-11 16:27:11 +02:00
Antonio Scandurra
f99a1437cd
Distribute operation workload evenly across peers in randomized test
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-11 14:43:30 +02:00
Antonio Scandurra
02f96c6def
Simulate parallelism among peers correctly in randomized collab test
...
Previously they were all using the same foreground executor, which was
not properly simulating concurrency among tasks from different peers.
2022-04-11 13:42:30 +02:00
Antonio Scandurra
bb8dc6120b
Allow taking an Arc<Deterministic>
in [gpui::test]
-decorated tests
2022-04-11 13:42:30 +02:00
Antonio Scandurra
28f44a3252
Merge pull request #787 from zed-industries/buffer-divergence
...
Fix divergence bug when peer reconnects reusing a prior replica id
2022-04-11 13:34:30 +02:00
Antonio Scandurra
f9e0899e58
Fix divergence bug when peer reconnects reusing a prior replica id
...
We forgot to observe the footprint of the reconnecting replica's prior
undos into the local clock. This could cause the replica to generate
edits with a version strictly smaller than what other peers may have
observed. As such, those peers would think they had already seen those
edits and skip them.
2022-04-11 13:17:47 +02:00
Nathan Sobo
af674e1c00
Merge pull request #770 from zed-industries/better-settings-schema
...
Improve Settings Completions
2022-04-09 08:23:58 -06:00
Nathan Sobo
56fcffb634
Remove unused imports
2022-04-09 07:55:23 -06:00
Nathan Sobo
17195e615e
Merge pull request #781 from zed-industries/structured-logging
...
Introduce structured logging
2022-04-09 07:40:24 -06:00
Max Brunsfeld
1778622960
Merge pull request #773 from zed-industries/namespace-actions
...
Change how actions are declared so that they are always associated with a namespace
2022-04-08 11:57:13 -07:00
Max Brunsfeld
ed2b690b9e
Merge branch 'main' into namespace-actions
2022-04-08 11:48:43 -07:00
Nathan Sobo
8a7d3ea82a
Merge pull request #778 from zed-industries/test-random-disconnect
...
Introduce host disconnection in randomized collaboration test
2022-04-08 11:36:39 -06:00
Nathan Sobo
b507e21831
Enable JSON logging at the trace log level in K8s
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-08 10:08:52 -06:00
Nathan Sobo
7e5a3f9f6b
Introduce structured logging
...
We're enabling the log crate feature everywhere, but only using it on the server for now.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-08 10:06:51 -06:00
Antonio Scandurra
53a7f9c43e
Introduce a timeout when processing incoming messages
...
We have an hypothesis that the server gets stuck while processing
an incoming message, either because the buffer fills up or because
a handler never completes. This should mitigate that and, once we
add logging, give us some clue as to what is causing it exactly.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-08 16:21:39 +02:00
Antonio Scandurra
0b1fda3e13
Remove postage
from zed-server
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-08 16:14:54 +02:00
Antonio Scandurra
24cb44fb00
Remove postage
from rpc
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-08 16:13:37 +02:00
Antonio Scandurra
32fd4eb3ac
Insert project id in connection's project during project registration
...
...in contrast to doing so during worktree registration. This fixes a
randomized test failure which would panic because store invariants would be
violated. This would happen when a peer disconnected before it had a chance
to register a worktree because, when removing all the state associated with
that peer upon disconnection, we would notice the registered project without
however finding it in the peer's connection state.
2022-04-08 14:41:56 +02:00
Antonio Scandurra
222cd09838
Allow host to reconnect to the server in randomized test
2022-04-08 14:41:30 +02:00
Antonio Scandurra
c994263225
Don't insert an empty vector in Project::buffer_snapshots
...
Other code paths rely on at least a version always being there, so
we should enforce that invariant everywhere.
2022-04-08 14:14:45 +02:00
Antonio Scandurra
663beab1b9
Avoid panicking when receiving a request for a dropped buffer
2022-04-08 12:10:45 +02:00
Antonio Scandurra
3daaef02ca
Replace postage::oneshot
with futures::channel::oneshot
...
This fixes an error in the randomized test that would cause the future
returned from `Worktree::share` to never finish due to a bug in `postage`
that causes its waker to not be notified upon drop.
2022-04-08 12:03:09 +02:00
Antonio Scandurra
da976012a9
Allow simulate_guest
and simulate_host
to fail when host disconnects
2022-04-08 11:29:00 +02:00
Antonio Scandurra
fae9048a2a
Remove non-determinism from Peer
caused by using std's HashMap
2022-04-08 11:28:19 +02:00
Keith Simmons
3e40b5bead
dynamically inject theme names and language properties into schema
2022-04-07 18:15:02 -07:00
Max Brunsfeld
c801a52492
Convert some actions to use named fields
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-07 16:44:37 -07:00
Max Brunsfeld
5242a3a6dc
Restructure action macro to assign a namespace to every action
...
Also, allow arbitrary types to be used as Actions via the impl_actions macro
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-07 16:20:49 -07:00
Keith Simmons
035cd37aa8
Add explicit types for LanguageOverrides and Themes to SettingsFileContent in order to improve completions in zed settings file
2022-04-07 16:00:51 -07:00
Max Brunsfeld
206b0f0f8c
0.25.0
2022-04-07 12:03:43 -07:00
Nathan Sobo
717f53e3d2
WIP
2022-04-07 09:29:47 -06:00
Antonio Scandurra
0b8eed64ad
Merge pull request #765 from zed-industries/yield-lsp
...
Don't starve UI thread when rapidly receiving LSP messages
2022-04-07 17:15:19 +02:00
Nathan Sobo
80d55fd3d8
Don't starve UI thread when rapidly receiving LSP messages
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-07 08:30:42 -06:00
Nathan Sobo
7a151ffc75
Merge pull request #764 from zed-industries/refine-event-handlers-behavior
...
Calculate hit-box based on visible bounds in `{Mouse}EventHandler`
2022-04-07 08:16:14 -06:00
Antonio Scandurra
b396909035
Calculate hitbox based on visible bounds in {Mouse}EventHandler
...
This is in contrast to not dispatching the event altogether in `Flex` when
the event is not contained in the flex element bounds. That approach was
problematic because it didn't give an opportunity to `MouseEventHandler`s
to handle mouse move events when they didn't intersect with the element bounds,
causing elements to never clear their hover state, cursor style, etc.
2022-04-07 15:12:09 +02:00
Antonio Scandurra
73f2fd6b09
Pass visible bounds to Element::dispatch_event
2022-04-07 15:10:09 +02:00
Antonio Scandurra
ae415ee49b
Merge pull request #763 from zed-industries/inconsistent-diagnostic-state
...
Fix bad diagnostic state when restarting a language server w/ a running diagnostic task
2022-04-07 09:54:00 +02:00
Antonio Scandurra
7c21b61ad9
Merge pull request #748 from zed-industries/fix-outline-panic
...
Don't assume there are always matches in outline view
2022-04-07 09:49:13 +02:00
Antonio Scandurra
52251c3463
Merge pull request #745 from zed-industries/scroll-tabs
...
Allow pane tabs to be scrolled when they overflow
2022-04-07 09:48:54 +02:00
Max Brunsfeld
f73de202d0
Fix diagnostic updates after restarting an LSP w/ a pending diagnostic job
2022-04-06 22:02:27 -07:00
Max Brunsfeld
b354af7bda
Use an unbounded channel in gpui test helper methods
...
The bounded channel could fill up when many events were emitted in one
effect cycle.
2022-04-06 22:02:04 -07:00
Max Brunsfeld
ce547010d8
Merge pull request #759 from zed-industries/breadcrumb-multibuffer-fix
...
Update breadcrumbs when multibuffers' excerpts change
2022-04-06 17:21:18 -07:00
Max Brunsfeld
ec837fa6d7
Update breadcrumbs when multibuffers' excerpts change
2022-04-06 17:12:36 -07:00
Max Brunsfeld
8f38ac8270
Tweak structure of Project::on_lsp_progress so it can be auto-formatted
...
Previously, rustfmt seems to have given up on formatting this method.
2022-04-06 16:35:58 -07:00
Max Brunsfeld
f9e1b4de96
Merge pull request #758 from zed-industries/open-excerpts-in-same-pane
...
Don't activate the next pane when opening excerpts
2022-04-06 15:56:22 -07:00
Max Brunsfeld
ea63df0519
Don't activate the next pane when opening excerpts
2022-04-06 15:46:11 -07:00
Max Brunsfeld
3d8e4adcde
Merge pull request #757 from zed-industries/restructure-settings
...
Enable language specific tab sizes
2022-04-06 15:18:13 -07:00