Co-Authored-By: Keith Simmons <keith@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
,
Keith Simmons
, and
Nathan Sobo
created
bb6ab83
Merge pull request #542 from zed-industries/guest-disconnections
Click to expand commit body
Send heartbeats in both directions so the server can detect when clients disconnect
Max Brunsfeld
created
1f5eab3
Reset peer's receive timeout when a message is received
Click to expand commit body
* Make advance_clock more realistic by waking timers in order,
instead of all at once.
* Don't advance the clock when simulating random delays.
Co-Authored-By: Keith Simmons <keith@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
,
Keith Simmons
, and
Nathan Sobo
created
00ba5df
Merge pull request #545 from zed-industries/halt-global-actions
Click to expand commit body
Halt keystroke dispatch when a global action is dispatched
Nathan Sobo
created
40c0b9e
Halt keystroke dispatch when a global action is dispatched
Nathan Sobo
created
34bbc05
Merge pull request #543 from zed-industries/fix-closing-items
Click to expand commit body
Ensure `active_item_index` doesn't go off the end when closing items
Antonio Scandurra
created
711de5e
Ensure `active_item_index` doesn't go off the end when closing items
Click to expand commit body
This fixes a bug introduced in #538, where closing the current tab would hide
all the other tabs, if the current tab was the last one.
Also, this commit manually sets the active item index instead of calling
`Pane::activate_item`: even though this introduces a little bit of duplication,
it prevents us from mistakenly calling `deactivate` on the wrong item. This would
happen because `activate_item` looks at `self.active_item_index` to determine
which item to deactivate before setting the new one. However, that index is
potentially invalid because `::close_items` manipulates the `item_views` vector,
so `activate_item` could end up calling `deactivate` on an item view that was
not active in the first place.
Antonio Scandurra
created
c7ddb66
Merge pull request #538 from zed-industries/close-inactive-items
Click to expand commit body
Implement close inactive items
Antonio Scandurra
created
4124308
Fix errors from conditional compilation in timer functions
Max Brunsfeld
created
fab115e
Adjust test connection to treat the half-open state more realistically
Click to expand commit body
When a network connection is lost without being explicitly closed by the
other end, writes to that connection will error, but reads will just wait
indefinitely.
This allows the tests to exercise our heartbeat logic.
Max Brunsfeld
created
9017a13
Send websocket pings from both the client and the server
Click to expand commit body
Remove the client-only logic for sending protobuf pings.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld
,
Nathan Sobo
, and
Antonio Scandurra
created
c61a1bd
Make timer method available on both foreground and background executors
Click to expand commit body
Also, make it return a static future.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
1982a8c
Put vector clock serialization logic alongside other serialization logic
Click to expand commit body
This way, the `clock` crate doesn't depend on the `rpc` crate.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
28bacab
Move Network test helper from util crate into text crate
Click to expand commit body
This way, `util` does not depend on `clock`.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
9b8c782
Merge pull request #537 from zed-industries/disconnected-status
Click to expand commit body
Render overlay after remote project becomes read-only
Nathan Sobo
created
8b9f411
Use the macOS standard binding instead of VS Code's
Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo
,
Antonio Scandurra
, and
Max Brunsfeld
created
This allows the registration of such buffers in the project, which is necessary
to correctly support `::save_buffer_as` and opens the door to sharing untitled
buffers with guests in the future.
Note that, for now, this disallows guests to create untitled buffers in the
current window and will create a new window instead. This is because we don't
yet have a global way of allocating a buffer's remote id (nor a way of saving
such buffers in the host's worktree) and we instead rely on the local model ID,
which could clash with the host's buffer IDs.
I think we should revisit this once guests can share their untitled buffers
with the host and other remote peers, as well as once we start keying
operations by entry id.
Antonio Scandurra
created
d8ef3a5
Support formatting in fake LSP capabilities
Antonio Scandurra
created
46da80d
Use LSP range formatting when document formatting is not available
Antonio Scandurra
created
dc5a09b
Merge pull request #525 from zed-industries/preserve-worktrees
Click to expand commit body
Grow worktrees monotonically when sharing and move most messages to the background
Antonio Scandurra
created
7c42005
Observe selection set lamport timestamps when deserializing buffer
Antonio Scandurra
created
bcd5c28
Allow receiving diagnostic updates out of order
Antonio Scandurra
created
e78661c
Merge pull request #532 from zed-industries/handle-language-server-failure
Click to expand commit body
Avoid infinite loop when a language server fails to start
Max Brunsfeld
created
1965813
Avoid infinite loop when a language server fails to start
We don't use them, and they add a lot of noise to the test output
when running all tests in the workspace.
Max Brunsfeld
created
15312d0
Merge pull request #526 from zed-industries/json
Click to expand commit body
Add basic JSON support
Max Brunsfeld
created
3c242a4
Wait for LSP capabilities to be initialized before checking them
Max Brunsfeld
created
78d96a0
Make fake language servers have full capabilities
Max Brunsfeld
created
9999862
Enable formatting feature of JSON language server
Click to expand commit body
The feature doesn't work yet because the JSON language server
only supports *range* formatting, not document formatting.
We need to adjust our code to inspect the server's capabilities
and send range formatting requests instead when needed.
We're going to hold off on doing this right now, because it
will create merge conflicts with the `preserve-worktrees`
branch (#525)
Co-Authored-By: Nathan Sobo <nathan@zed.dev>