Fix Project strong reference leaks #22470
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #21906
After Allow splitting the terminal panel #21238,
TerminalPanel
andProject
strong references were moved intoPane
-related closures, creating a cycle, that did not allow registering project release and shutting down corresponding language serversAfter Make git panel entries clickable #22329, a special
Editor
was created with a strong reference to theProject
which seemed to do nothing bad in general, but when a working Zed was running a Zed Dev build, had the same issue with preventing language servers from shutting down.The latter is very odd, and seems quite dangerous, as any arbitrary
Editor
withProject
in it may do the same, yet it seems that we did not store them before the way git panel does.I have tried creating a test, yet seems that we need to initialize a lot of Zed for it which I failed — all my attempts resulted in a single language server being present in the
Project
's statuses.Release Notes: