Commit graph

4641 commits

Author SHA1 Message Date
Antonio Scandurra
fb2590d913 Use a FuturesUnordered to process foreground messages
This prevents deadlocks when e.g., client A performs a request to client B and
client B performs a request to client A. If both clients stop processing further
messages until their respective request completes, they won't have a chance to
respond to the other client's request and cause a deadlock.

This arrangement ensures we will attempt to process earlier messages first, but fall
back to processing messages arrived later in the spirit of making progress.
2022-06-22 15:04:17 +02:00
Antonio Scandurra
6eb3e72c36 Add test demonstrating hang when peers wait on each other's response 2022-06-22 14:41:14 +02:00
Antonio Scandurra
2f09a4af16 Update project metadata when releasing a worktree's weak handle
When a project was getting unshared, we would remove invisible worktrees
from the project's state without notifying the server, which was causing
the randomized tests to fail.

This commit calls `Project::remove_worktree` when a worktree's handle gets
released. Doing so ensures that we update both our local metadata database
as well as the state on the server.
2022-06-22 10:26:10 +02:00
Keith Simmons
484e98c0bb
Merge pull request #1216 from zed-industries/hover-context-menu-fix
Don't trigger hover popover action when mouse is over context menu
2022-06-21 13:43:24 -07:00
Keith Simmons
19feb627d8
Add comment linking to long term plan 2022-06-21 12:38:27 -07:00
Max Brunsfeld
dc8d5f4ae3
Merge pull request #1217 from zed-industries/fix-lsp-statuses-for-guests
Report running language servers when sharing project for the first time
2022-06-21 11:50:58 -07:00
Antonio Scandurra
83f38aa1ba
Merge pull request #1215 from zed-industries/suggest-upgrade-on-reconnect
Show upgrade required message when reconnecting after a protocol change
2022-06-21 20:41:36 +02:00
Antonio Scandurra
69aa3d848e Report running language servers when sharing project for the first time
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-06-21 20:39:54 +02:00
Max Brunsfeld
e9d19457d6 Add failing test for replication of lsp statuses
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-21 11:27:08 -07:00
Keith Simmons
057a7ec989 Don't trigger hover popover action when mouse is over context menu 2022-06-21 11:23:25 -07:00
Antonio Scandurra
a5ae8d9072
Merge pull request #1214 from zed-industries/fix-error-on-empty-worktree-update
Fix error when worktree has no file extensions
2022-06-21 20:08:20 +02:00
Max Brunsfeld
30d75620f1 Fix error when worktree has no file extensions
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-21 11:02:13 -07:00
Keith Simmons
e88f115467
Merge pull request #1213 from zed-industries/hover-dismiss-fix
hide hover on editor blur
2022-06-21 10:47:52 -07:00
Keith Simmons
fb881b2eda hide hover on editor blur 2022-06-21 10:37:59 -07:00
Max Brunsfeld
6a2c5e0dc1 Show upgrade required message when reconnecting after a protocol change
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-21 10:26:34 -07:00
Antonio Scandurra
69bd6bf1f3
Merge pull request #1212 from zed-industries/persist-project-activity
Add an API that returns the most active zed users and the projects where they've been active
2022-06-21 18:16:29 +02:00
Antonio Scandurra
db77601aa2 Expose project metadata via GET /project_metadata 2022-06-21 18:06:31 +02:00
Antonio Scandurra
ebaf3224fd Exclude staff from activity recording 2022-06-21 16:07:59 +02:00
Antonio Scandurra
c90e8c08a6 Accept a datetime range when querying project activity 2022-06-21 14:03:10 +02:00
Antonio Scandurra
95a629d200 Unregister project from db when user disconnects or manually does so 2022-06-21 10:37:34 +02:00
Antonio Scandurra
7acebc4eb8 Register projects in the database and record worktree extensions 2022-06-21 10:29:26 +02:00
Max Brunsfeld
44160869eb Add an API that returns the most active users and the projects where they've been active 2022-06-20 19:46:37 -07:00
Antonio Scandurra
bc3287e5d0
Merge pull request #1209 from zed-industries/mdx-highlighting
Highlight files ending in `mdx` as Markdown
2022-06-20 15:56:14 +02:00
Antonio Scandurra
0e20782b53 Highlight files ending in mdx as Markdown
This is clearly a stopgap solution but it'll make our life easier
while hacking on zed.dev.
2022-06-20 15:53:45 +02:00
Antonio Scandurra
041e230d24
Merge pull request #1208 from zed-industries/enhance-autoclose
Enhance auto-closing bracket behavior
2022-06-20 12:17:10 +02:00
Antonio Scandurra
d425d9fa64 Allow wrapping selected text with ' in Rust 2022-06-20 11:56:46 +02:00
Antonio Scandurra
6040429f93 Auto-close ' for TypeScript and don't do so for Rust 2022-06-20 11:55:40 +02:00
Antonio Scandurra
d5efae609e Respect close in language configuration when autoclosing bracket 2022-06-20 11:50:44 +02:00
Antonio Scandurra
d6c630f8eb Add missing auto-close brackets from various languages 2022-06-20 11:38:12 +02:00
Antonio Scandurra
9cf1774ca8
Merge pull request #1207 from zed-industries/remove-folder-from-project
Replace "Remove Folder from Project" label with "Remove from Project`
2022-06-20 10:58:20 +02:00
Antonio Scandurra
137a3996a1 Replace "Remove Folder from Project" label with "Remove from Project` 2022-06-20 10:53:26 +02:00
Max Brunsfeld
4bb5a2f19e
Merge pull request #1206 from zed-industries/fix-offline-project-leak
Fix project leak in contacts panel
2022-06-17 15:55:43 -07:00
Max Brunsfeld
71534d4412 Avoid holding a strong project handle in an on_click callback 2022-06-17 15:41:48 -07:00
Max Brunsfeld
6359535c52 v0.39.0 2022-06-17 14:22:49 -07:00
Antonio Scandurra
9319cbdd0b
Merge pull request #1205 from zed-industries/bypass-app-menu
Override `performKeyEquivalent` to handle key events
2022-06-17 17:31:51 +02:00
Antonio Scandurra
a35d7c5e15 Use BOOL instead of Rust booleans in handle_key_equivalent 2022-06-17 17:19:18 +02:00
Antonio Scandurra
8f6d081de8 Override performKeyEquivalent to handle key events
This lets us bypass the application menu and invoke the event handler
in Zed first. If that doesn't handle the event, the application menu
item corresponding to the shortcut will be actioned. Prior to this
commit the opposite would happen, which would dramatically limit the
throughput at which we could handle events.
2022-06-17 17:12:56 +02:00
Antonio Scandurra
607903eed5 Return true in the Window::on_event callback if event was handled 2022-06-17 17:09:16 +02:00
Antonio Scandurra
ae2273b40a
Merge pull request #1204 from zed-industries/accurate-is-dirty
Determine `Buffer::is_dirty` based on the rope's fingerprint
2022-06-17 16:08:07 +02:00
Antonio Scandurra
4f215a77cd Don't compute fingerprint for every text summary 2022-06-17 15:15:27 +02:00
Antonio Scandurra
5654684d30 Fix editor tests after changing the semantics of is_dirty 2022-06-17 12:57:40 +02:00
Antonio Scandurra
052222c91c Bump protocol version 2022-06-17 12:39:59 +02:00
Antonio Scandurra
6f7a893ec9 Determine Buffer::is_dirty based on the rope's fingerprint 2022-06-17 12:38:25 +02:00
Antonio Scandurra
c31a233aad Introduce a new fingerprint field to TextSummary
This is calculated in `Rope` and uses the `bromberg_sl2` homomorphic
hash function to determine the fingerprint of a single chunk and
compose each chunk fingerprint into a single fingerprint for the entire
rope that is equivalent to hashing all the rope's bytes at once.
2022-06-17 12:12:37 +02:00
Max Brunsfeld
7d70011ef1
Merge pull request #1203 from zed-industries/themes-in-app-menu
Themes in app menu
2022-06-16 17:59:10 -07:00
Max Brunsfeld
21ecbce9b8 Add a Zed > Preferences submenu with prefs, bindings, theme 2022-06-16 17:50:44 -07:00
Max Brunsfeld
2c61bc2b1f Always use capital letters when rendering a keystroke 2022-06-16 17:48:10 -07:00
Max Brunsfeld
a3b17ffd15 Allow creating application menus with submenus 2022-06-16 17:47:39 -07:00
Max Brunsfeld
619c874984
Merge pull request #1202 from zed-industries/avoid-bad-markdown-autoindent
Disable auto-indent entirely for markdown
2022-06-16 15:00:07 -07:00
Max Brunsfeld
216a275ef2 Disable auto-indent entirely for markdown 2022-06-16 14:20:09 -07:00