Skip to content

Avoid leaking listeners in notebook search results#319130

Merged
dmitrivMS merged 3 commits into
mainfrom
dev/dmitriv/perf-search-listener-leak
May 30, 2026
Merged

Avoid leaking listeners in notebook search results#319130
dmitrivMS merged 3 commits into
mainfrom
dev/dmitriv/perf-search-listener-leak

Conversation

@dmitrivMS
Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings May 30, 2026 12:28
@dmitrivMS dmitrivMS added the perf label May 30, 2026
@dmitrivMS dmitrivMS enabled auto-merge (squash) May 30, 2026 12:28
@dmitrivMS dmitrivMS self-assigned this May 30, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Replaces manual IDisposable handles for notebook editor widget listeners with MutableDisposable registered to the parent disposable store, ensuring listeners are properly cleaned up when widgets are re-attached and on disposal.

Changes:

  • Switched _onWillChangeModelListener and _onDidChangeModelListener from IDisposable | undefined to MutableDisposable registered via this._register.
  • Removed manual ?.dispose() calls at reassignment sites and in dispose() since MutableDisposable.value = handles prior disposal.
Show a summary per file
File Description
src/vs/workbench/contrib/search/browser/searchTreeModel/searchResult.ts Use MutableDisposable for notebook widget model-change listeners to avoid leaks.

Copilot's findings

  • Files reviewed: 1/1 changed files
  • Comments generated: 0

@dmitrivMS dmitrivMS added the search Search widget and operation issues label May 30, 2026
@dmitrivMS dmitrivMS merged commit fc9ee2a into main May 30, 2026
25 checks passed
@dmitrivMS dmitrivMS deleted the dev/dmitriv/perf-search-listener-leak branch May 30, 2026 22:04
@vs-code-engineering vs-code-engineering Bot added this to the 1.123.0 milestone May 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

perf search Search widget and operation issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants