Commit log

a184583 Bump protocol version

Antonio Scandurra created

85a010b v0.18.0

Antonio Scandurra created

6d59083 Merge branch 'leaks'

Antonio Scandurra created

0581246 Use Node 16 on CI

Antonio Scandurra created

c97983d Install node as part of ci.yml when bundling the app

Antonio Scandurra created

65f53db WIP: investigate why npm is not there

Antonio Scandurra created

432fef6 :lipstick:

Antonio Scandurra created

9ff1af3 Always run tests and bundle creation in separate runners

Click to expand commit body
This is better for caching and, thus, yields faster CI runs.

Antonio Scandurra created

141e055 Fix warnings

Antonio Scandurra created

3ec76b6 Make `dhat` optional

Antonio Scandurra created

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.

Max Brunsfeld created

0e66869 Remove stray printing in db tests

Max Brunsfeld created

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

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

0d6f6bf Detect when view handles are leaked

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

aa03ebc Enable leak backtraces by setting `LEAK_BACKTRACE=1`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

4cfd345 Use `async_broadcast` to emit fake FS events

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

3e9dbe1 Capture a weak reference to the `Project` in fake LSP

Antonio Scandurra created

8d078ed Don't block when emitting fs events

Click to expand commit body
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

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

02ae2d8 Hold client weakly in UserStore

Click to expand commit body
This avoids a reference cycle that is causing some tests
to fail due to leaked handles at the moment. There may be
a better way to fix this though.

Max Brunsfeld created

1faaa91 Avoid retaining executor in the FakeFs

Click to expand commit body
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>

Max Brunsfeld and Nathan Sobo created

d1d324e Never close buffers when sharing

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created