microsoft / microsoft/vscode-python-environments

SimpleDebounce should be a disposable

Open
#954 2 comments 1 reaction 3 assignees Assigned to @eleanorjboyd View on GitHub
debt needs PR
Dominant language
TypeScript
Stars
138
Forks
62
Avg merge
1d 4h
Merged PRs (30d)
35

Description

This should be disposable:

https://github.com/microsoft/vscode-python-environments/blob/baad0daaa2e01f31ba507176e889bdfaf30d4cff/src/common/utils/debounce.ts#L1-L23

`dispose`'s impl should be:

```ts
public dispose() {
if (this.timeout) {
clearTimeout(this.timeout);
}
}
```

Not having this means that if the debouncer's job is done while the `setTimeout` is active, it will still fire again.

An example of this in practice is if the extension is disabled it should immediately dispose everything. Another example is the transient usage in https://github.com/microsoft/vscode-python-environments/pull/952

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.