microsoft / microsoft/vscode-python-environments
SimpleDebounce should be a disposable
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.