Commit graph

3649 commits

Author SHA1 Message Date
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
Nathan Sobo
717f53e3d2 WIP 2022-04-07 09:29:47 -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
Keith Simmons
67b15ee037 Use language specific tabsize in editor commands
Co-authored-by: Max Brunsfeld <max@zed.dev>
2022-04-06 15:10:29 -07:00
Keith Simmons
36f4d8f9e4 Fix typescript indent size 2022-04-06 10:35:29 -07:00
Keith Simmons
1812480cbb Tab size is pulled properly from settings instead of hardcoded 2022-04-06 10:23:37 -07:00
Max Brunsfeld
866ffdd4ae Move Settings to its own crate
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-06 10:23:33 -07:00
Max Brunsfeld
664f17f92b Avoid maintaining indent size as state on buffers
Indent size is still hard-coded, but it's now controlled by the
editor and not the buffer.

Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-06 10:22:29 -07:00
Nathan Sobo
0214bec7f4 Don't dispatch events to flex children outside of parent flex's bounds 2022-04-06 10:59:03 -06:00
Nathan Sobo
e21f90fec5
Merge pull request #747 from zed-industries/styles-in-typescript
Style the Zed app using Typescript styleTrees and Design Tokens
2022-04-06 10:39:10 -06:00
Nate Butler
b1eda1ac39 Add border to top of status bar 2022-04-06 12:25:15 -04:00
Nate Butler
e584e892f4 Update light theme 2022-04-06 12:25:02 -04:00
Nate Butler
d3cfd1c974 Use standard text sizes for signInPrompt 2022-04-06 12:14:05 -04:00
Nathan Sobo
ca64b081fe Don't assume there are always matches in outline view 2022-04-06 09:33:47 -06:00
Nathan Sobo
c289cdcac8 💄 2022-04-06 09:28:56 -06:00
Nathan Sobo
36fede7522 💄 token-building script and output destinations
Just some organization here.
2022-04-06 09:26:51 -06:00
Nate Butler
f29b8c795e Remove message.txt 2022-04-06 11:00:25 -04:00
Antonio Scandurra
d7342e2875 Use Pane::activate_item when navigating to remove duplicated logic 2022-04-06 09:31:54 +02:00
Antonio Scandurra
1453954ef4 Autoscroll to active tab when activating a new item 2022-04-06 09:08:44 +02:00
Nate Butler
e201826d00 Update Light & Dark themes 2022-04-06 01:46:10 -04:00
Nathan Sobo
eb99588368 Remove stray dbg! expressions 2022-04-05 20:02:45 -06:00
Nathan Sobo
ab3bbe1e17 Make the tabs scrollable when they overflow
This adds the ability to make a Flex element scrollable by passing a type tag and instance id, which we use to store the scroll position in an ElementStateHandle.

Still need to allow the element to auto-scroll.
2022-04-05 19:58:15 -06:00
Nathan Sobo
025d857be8 Make UniformListState an Rc<RefCell<>> instead of an Arc<Mutex<>>
We don't need to support multiple threads.
2022-04-05 18:40:25 -06:00
Nathan Sobo
0cbcc81ed9
Merge pull request #742 from zed-industries/better-atlas-panics
Report more information when we panic due to an atlas allocation failure
2022-04-05 17:08:04 -06:00
Nate Butler
2a2c4071f4 Update light syntax theme and highlights, player selections 2022-04-05 18:49:17 -04:00
Nate Butler
35f56708f5 Update light theme, change player 3 color
- Changed player 3 color to be less similar to player 1
2022-04-05 18:23:01 -04:00
Nathan Sobo
aeb0b42c7a Report more information when we panic due to an allocation failure 2022-04-05 13:53:13 -06:00
Nathan Sobo
133d9f947b
Merge pull request #740 from zed-industries/prompt-only-on-last-dirty-item
Show unsaved/conflict prompt only when closing the last tab for an item
2022-04-05 13:12:08 -06:00