Suppress unhandled errors in WordHighlighter's runDelayer triggers. #285887
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.
Fixes #285890 (related: microsoft/monaco-editor#4702 )
Description
This PR fixes unhandled
CancellationErrorexceptions that occur when theWordHighlighteris disposed while a delayed operation is pending.The
Delayer.trigger()method returns a Promise that rejects withCancellationErrorwhen cancelled (e.g., during disposal). Without proper error handling, this causes unhandled promise rejection warnings.Changes
Added
.catch(onUnexpectedError)to all threerunDelayer.trigger()calls inwordHighlighter.ts.The
onUnexpectedErrorfunction fromvs/base/common/errorsautomatically filters outCancellationError, so only genuine unexpected errors are reported.This follows the same pattern used in other editor contributions:
parameterHintsModel.tsfindWidget.tsstickyScrollModelProvider.tsHow to test
npm cithennpm run devnpm run dev)CancellationErrorwarning no longer appears in the browser console