fb2590d
Use a `FuturesUnordered` to process foreground messages
Click to expand commit body
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.
Antonio Scandurra
created
6eb3e72
Add test demonstrating hang when peers wait on each other's response
Antonio Scandurra
created
f09a997
Merge pull request #1223 from zed-industries/update-metadata-when-worktrees-are-removed
Click to expand commit body
Update project metadata when releasing a worktree's weak handle
Antonio Scandurra
created
2f09a4a
Update project metadata when releasing a worktree's weak handle
Click to expand commit body
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.
9319cbd
Merge pull request #1205 from zed-industries/bypass-app-menu
Click to expand commit body
Override `performKeyEquivalent` to handle key events
Antonio Scandurra
created
a35d7c5
Use `BOOL` instead of Rust booleans in `handle_key_equivalent`
Antonio Scandurra
created
8f6d081
Override `performKeyEquivalent` to handle key events
Click to expand commit body
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.
Antonio Scandurra
created
607903e
Return true in the `Window::on_event` callback if event was handled
Antonio Scandurra
created
ae2273b
Merge pull request #1204 from zed-industries/accurate-is-dirty
Click to expand commit body
Determine `Buffer::is_dirty` based on the rope's fingerprint
Antonio Scandurra
created
4f215a7
Don't compute fingerprint for every text summary
Antonio Scandurra
created
5654684
Fix editor tests after changing the semantics of `is_dirty`
6f7a893
Determine `Buffer::is_dirty` based on the rope's fingerprint
Antonio Scandurra
created
c31a233
Introduce a new `fingerprint` field to `TextSummary`
Click to expand commit body
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.
Antonio Scandurra
created
7d70011
Merge pull request #1203 from zed-industries/themes-in-app-menu
Click to expand commit body
Themes in app menu
Max Brunsfeld
created
21ecbce
Add a Zed > Preferences submenu with prefs, bindings, theme
Max Brunsfeld
created
2c61bc2
Always use capital letters when rendering a keystroke
Max Brunsfeld
created
a3b17ff
Allow creating application menus with submenus