b771667
Merge pull request #499 from zed-industries/project-find
Click to expand commit body
Project-wide search
Antonio Scandurra
created
51345cf
Advance clock when simulating random delay
Antonio Scandurra
created
be7a477
Delete timer state when the future that's awaiting it gets dropped
Antonio Scandurra
created
8b7a936
Avoid storing type name string on AnyViewHandle
Click to expand commit body
It won't be needed for leak error messages, because the typed
view handle will typically be created first. And this avoids
increasing the size of the handle used in production.
Max Brunsfeld
created
ae93cfe
Tear down client's connection states when dropping test clients
Max Brunsfeld
created
3cf5329
Flush effects when dropping test clients in random collaboration test
Max Brunsfeld
created
acf7ef3
Avoid retaining executor when using Connection::in_memory
Max Brunsfeld
created
95b2f4f
Fix remaining language server hangs on shutdown
Click to expand commit body
* Use fork of async-pipe library that handles closed pipes correctly.
* Clear response handlers map when terminating output task, so as
to wake any pending request futures.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
917543c
Handle Peer responses using a futures::oneshot instead of postage::mpsc
Max Brunsfeld
created
f2f1a52
Prevent hangs in lsp requests made while server is shutting down
Click to expand commit body
* Avoid postage::oneshot, since receiver is not woken when sender is dropped.
* Clear the response channels when an IO task exits.
Max Brunsfeld
created
74469a4
Clean up tasks properly when dropping a FakeLanguageServer
Click to expand commit body
* Make sure the fake's IO tasks are stopped
* Ensure that the fake's stdout is closed, so that the corresponding language
server's IO tasks are woken up and halted.
43f856c
Make integration tests depend only on a few core crates, not all of zed
Max Brunsfeld
created
2b64e8d
Fix failure in test_unshare_project due to dropping handle outside of an update block
Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
,
Antonio Scandurra
, and
Nathan Sobo
created
efe7f61
Use `simulate_random_delay` when polling snapshot only in tests
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra
,
Nathan Sobo
, and
Max Brunsfeld
created
a25f21d
Remove `debug_elements_callbacks` from `App`
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra
,
Nathan Sobo
, and
Max Brunsfeld
created
bc9c034
Fix `Presenter` leak when removing windows
Antonio Scandurra
created
c661ff2
Revert "Use `async_broadcast` to emit fake FS events"
Click to expand commit body
This reverts commit 4cfd345f9d91ebd8e76a668f3494ecf2e45c4b9d, because
having a bounded broadcast introduces the possibility of waiting forever
when there isn't yet a receiver processing those events.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra
and
Nathan Sobo
created
992328a
Forbid parking in `project_panel::tests::test_visible_list`
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra
and
Nathan Sobo
created
0bb7189
Use a weak handle to poll local worktree snapshot
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra
and
Nathan Sobo
created
83a3402
Make `TestAppContext` and its dependencies available only in tests
Blocking could happen while processing events, which would cause the
background scanner to never make any further progress.
Antonio Scandurra
created
ce59e57
Remove project from host connection when unregistering it
Antonio Scandurra
created
466db69
Pass a reference to `TestAppContext` in tests
Click to expand commit body
This allows us to drop the context *after* we ran all futures to
completion and that's crucial otherwise we'll never drop entities
and/or flush effects.
Antonio Scandurra
created
8390f04
Allow capturing references in the future passed to `Deterministic::run`
Antonio Scandurra
created
7ce6f23
Remove all windows on dropping `TestAppContext`
Click to expand commit body
This allows us to remove the dropped entities and flush effects as
necessary.
Antonio Scandurra
created
10a872a
Avoid reference cycle between `Client` and its models
Antonio Scandurra
created
471ecae
WIP - include dhat for memory profiling tests
Max Brunsfeld
created
3b7cfad
Try clearing Client's state at the ends of integration tests
This probably isn't the *root* cause of why an executor is leaked,
but by cutting off this cyclic references, it may make it a bit easier
to track down leaks of an executor.
Max Brunsfeld
created
3788efe
Clean up guest connection states correctly when a collaborator disconnects
Click to expand commit body
This bug was caught by running the executor until parked after tests.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
c09921e
Clear the executor at the end of a test by running until it is parked
Max Brunsfeld
created
426e0e3
Flush effects when dropping a TestAppContext
Click to expand commit body
This way, at the end of a test, dropped entities will be removed, and will drop
the handles that they hold.
Max Brunsfeld
created
7d53e37
Start work on detecting leaked handles in tests
Click to expand commit body
For now, just track models. Tests fail because we don't
yet clear the app contexts at the right time.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2111ec0
Make `SearchProject` a `Foreground` message
Click to expand commit body
However, the randomized integration test is still failing:
```
ITERATIONS=100000 SEED=3027 OPERATIONS=200 cargo test --release test_random --package=zed-server -- --nocapture
```
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra
and
Nathan Sobo
created
400a2fc
Don't use a bounded channel for signaling that buffers have been opened
Click to expand commit body
Blocking the sender could halt deserialization for no reason if nobody
is consuming the notifications.
Antonio Scandurra
created
1313ca8
Don't delete buffer state when calling `get_open_buffer`
Click to expand commit body
...as we might be in the process of completing a request that could
open a buffer. This was causing a failure in the randomized integration
test.
Antonio Scandurra
created
5f7a759
Add project-wide search to randomized integration test
Antonio Scandurra
created
abdfdcd
Include buffer's deferred ops when computing `has_buffered_operations`