Skip to content

Fix issues with didOpen synchronization#10442

Merged
Colengms merged 5 commits intomainfrom
coleng/didOpen_synchronization
Jan 31, 2023
Merged

Fix issues with didOpen synchronization#10442
Colengms merged 5 commits intomainfrom
coleng/didOpen_synchronization

Conversation

@Colengms
Copy link
Contributor

@Colengms Colengms commented Jan 31, 2023

Addresses issues with certain messages (semantic token, inlay hints, and code folding) being delivered before we've processed didOpen.

Adds an implicit didOpen for messages that require didOpen to have already occurred.

Updates delayed didOpen processing to use async/await consistently, so processing of didOpen could be more reliably synchronized with.

Always passes processDelayedDidOpen through requestWhenReady to avoid the potential race conditions that could occur if multiple callers (i.e. providers) tried to call into it at essentially the same time.

Uses requestWhenReady in protocolFilter to ensure all async handling in each message handler is included in what is being sequenced.

@azure-pipelines
Copy link
Contributor

There was an error handling pipeline event 5bcf3dfc-91b2-487b-89c8-9b50c1c79cac.

@Colengms Colengms marked this pull request as ready for review January 31, 2023 02:59
@azure-pipelines
Copy link
Contributor

There was an error handling pipeline event 2ec4ea3d-9459-438c-849e-6d634acad8ef.

@Colengms Colengms merged commit 5f68e6a into main Jan 31, 2023
@Colengms Colengms deleted the coleng/didOpen_synchronization branch January 31, 2023 21:18
@github-actions github-actions bot locked and limited conversation to collaborators Mar 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants