bc9c034
Fix `Presenter` leak when removing windows
Antonio Scandurra created
bc9c034
Fix `Presenter` leak when removing windows
Antonio Scandurra created
c661ff2
Revert "Use `async_broadcast` to emit fake FS events"
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`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
0bb7189
Use a weak handle to poll local worktree snapshot
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
83a3402
Make `TestAppContext` and its dependencies available only in tests
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
0d6f6bf
Detect when view handles are leaked
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
aa03ebc
Enable leak backtraces by setting `LEAK_BACKTRACE=1`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
4cfd345
Use `async_broadcast` to emit fake FS events
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
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
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`
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
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
02ae2d8
Hold client weakly in UserStore
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
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
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
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
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
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
2111ec0
Make `SearchProject` a `Foreground` message
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
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`
...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`
Antonio Scandurra created
720056d
Add unit test for project search
Antonio Scandurra created
ed89475
Extract a common `match_index_for_direction` and `active_match_index`
Antonio Scandurra created
8eba964
Fix warning
Nathan Sobo created
cb230ad
Re-activate the most recently-activated project search on cmd-shift-F
This commits adds the beginnings of an application state facility as a non-static place to store the most recently-activated search for each project. I also store workspace items by descending order of their entity id so that we always fetch the newest item of a given type when calling `Workspace::item_of_type`.
Nathan Sobo created
1ddae2a
Focus the project find results editor on a tab in the query editor
Nathan Sobo created
71241b1
Add capture phase for action dispatch
Just like the DOM, we now bubble events down the tree during a capture phase before bubbling them back up.
Nathan Sobo created
7d119dc
Select first match when results are ready
Nathan Sobo created
7831979
Fix warning
Nathan Sobo created
64d2292
Implement navigation between project search matches
Nathan Sobo created
7ef98fb
Make versions oldest_selection and newest_selection that don't require snapshots
I thought I needed this but actually didn't, but I still kinda think it's a good change for the public interface of Editor.
Nathan Sobo created
19b5de2
Introduce ProjectSearchView constructor
We had some duplication when cloning on split, so this is to unify that before we add any more complexity to construction.
Nathan Sobo created
dabb17a
Clone editor's searchable state on split
Nathan Sobo created
136699e
Add log dependency in search crate
Nathan Sobo created
c7338eb
:lipstick:
Nathan Sobo created
039765b
Limit project search tab label to 24 characters
I'd love to fade the text out, but for now I just append an ellipsis.
Nathan Sobo created
ec31715
Rename "find" to "search"
Search is both a verb and a noun, which makes it more natural to use in situations where we need to name a thing rather than a process.
Nathan Sobo created
dd6f8d2
Remove carriage returns
Nathan Sobo created
28b71cb
Select query when focusing query editor
Also: Clear the selection when we focus the results editor because we continue to render the selection even when the editor isn't focused and it looks awkward. Another approach we could take is to not render selections for non-focused editors, either always or with an option. But considering that we select all anyways next time we return focus to the query editor, I think this is ok for now.
Nathan Sobo created
e96d0a9
Activate the *newest* existing project find view on cmd-shift-F
Nathan Sobo created
2f42776
Allow a new search to be created with cmd-enter
This replaces the `cmd-alt-shift-F` binding to open a new search. Instead, you can preserve the existing search results by entering a query and then hitting `cmd-enter` instead of `enter`. This opens a new project find view and restores the previous view to whatever query it was previously displaying. It's a bit strange, but I don't want to rely on splitting as the only way of creating multiple sets of search results.
Nathan Sobo created
ae1a46a
Render a magnifier icon and the query in project search tab
Also: Wire up events so the modified status updates correctly.
Nathan Sobo created