Max Brunsfeld and Keith Simmons <keith@zed.dev
4353d8f0f7
Move keymap_file module into settings crate
...
Co-authored-by: Keith Simmons <keith@zed.dev
2022-04-11 15:22:18 -07:00
Keith Simmons
9931a12de1
Handle editor cancel in pane in order to dismiss find toolbar
2022-04-11 15:11:23 -07:00
Keith Simmons
622b87cd55
Add logging when atlas allocator fails to allocate
2022-04-11 10:31:38 -07:00
Antonio Scandurra and Nathan Sobo
73755f0f24
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
Keith Simmons
885f4b8e0e
Make atlas allocation fallable and skip rendering icons and paths when it fails
2022-04-11 10:15:49 -07:00
Keith Simmons
74068b292a
Reraise editor events in Project Search and activate workspace item from them
2022-04-11 10:13:07 -07:00
Antonio Scandurra
7a9338847b
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
845646952d
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
0b47b46d69
Simulate random guest disconnection and reconnection
2022-04-11 16:27:11 +02:00
Antonio Scandurra and Nathan Sobo
2f87a68164
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
fd6338dda2
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
5f3d58180f
Allow taking an Arc<Deterministic> in [gpui::test]-decorated tests
2022-04-11 13:42:30 +02:00
Antonio Scandurra
a51b05d3ff
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
Max Brunsfeld
8bc0050578
Load all keybindings from JSON file
2022-04-10 14:29:45 -07:00
Max Brunsfeld
ff345ba696
Load modal key bindings from JSON file
2022-04-10 11:39:43 -07:00
Max Brunsfeld
382f3b7acc
Load project and buffer search key bindings from JSON file
2022-04-10 11:30:08 -07:00
Max Brunsfeld
4fbd45fe00
Load workspace and editor key bindings from a JSON file
2022-04-10 11:18:08 -07:00
Nathan Sobo
ad36f33940
Rename zed-server to collab
...
Over time, I think we may end up having multiple services, so it seems like a good opportunity to name this one more specifically while the cost is low. It just seems like naming it "zed" and "zed-server" leaves it a bit open ended.
2022-04-09 08:30:42 -06:00
Nathan Sobo
6ca482d91a
Merge pull request #770 from zed-industries/better-settings-schema
...
Improve Settings Completions
2022-04-09 08:23:58 -06:00
Nathan Sobo
f2a2639c48
Remove unused imports
2022-04-09 07:55:23 -06:00
Nathan Sobo
594bbeb35d
Merge pull request #781 from zed-industries/structured-logging
...
Introduce structured logging
2022-04-09 07:40:24 -06:00
Max Brunsfeld
0908a8799c
Allow actions to be deserialized from JSON
...
Introduce separate macro for implementing 'internal' actions which
are not intended to be loaded from keymaps.
2022-04-08 15:47:51 -07:00
Max Brunsfeld
e57e6eb66c
Merge branch 'main' into namespace-actions
2022-04-08 11:48:43 -07:00
Nathan Sobo
59b51036f1
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 and Antonio Scandurra
1d6edf4759
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 and Antonio Scandurra
66bcacd9cb
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 and Nathan Sobo
38fa1f3293
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 and Nathan Sobo
2e5904cb4b
Remove postage from zed-server
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-04-08 16:14:54 +02:00
Antonio Scandurra and Nathan Sobo
ea2de7c1d2
Remove postage from rpc
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-04-08 16:13:37 +02:00
Antonio Scandurra
2c007b127d
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
90a21ad40c
Allow host to reconnect to the server in randomized test
2022-04-08 14:41:30 +02:00
Antonio Scandurra
caa849f6e8
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
b40449294b
Avoid panicking when receiving a request for a dropped buffer
2022-04-08 12:10:45 +02:00
Antonio Scandurra
9d88f8ce00
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
091d0d1018
Allow simulate_guest and simulate_host to fail when host disconnects
2022-04-08 11:29:00 +02:00
Antonio Scandurra
48a9dfff00
Remove non-determinism from Peer caused by using std's HashMap
2022-04-08 11:28:19 +02:00
Keith Simmons
55f328e6a8
dynamically inject theme names and language properties into schema
2022-04-07 18:15:02 -07:00
83095256dc
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
0cf9925cb1
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
3ea362af37
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
5e0e950ccc
0.25.0
2022-04-07 12:03:43 -07:00
Nathan Sobo
6e82975727
WIP
2022-04-07 09:29:47 -06:00
Antonio Scandurra
736358da7a
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 and Antonio Scandurra
c6d6346c14
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
Antonio Scandurra
d7c4cc10ab
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
4ab12722bf
Pass visible bounds to Element::dispatch_event
2022-04-07 15:10:09 +02:00
Antonio Scandurra
37b1a14242
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
ce2a590521
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
90c24e3fda
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
1e1f153e89
Fix diagnostic updates after restarting an LSP w/ a pending diagnostic job
2022-04-06 22:02:27 -07:00