Skip to content

LSP requests processed by protocolFilter.ts stall all other requests #12905

Closed
@Colengms

Description

In protocolFilter.ts, we are intentionally sequencing the message handlers, to ensure async calls within them can complete before the next message is processed. That ensure our use of async doesn't cause messages to be delivered out of order (i.e. something file-specific delivered before didOpen is processed for that file). However, that appears to also be awaiting the results of request operations, causing the protocol filter to effectively stall all other requests (including those done via languageClient.sendRequest) whenever there is an outstanding request for one of the LSP requests processed there:

provideCompletionItem
resolveCompletionItem
provideSignatureHelp
provideDefinition
provideReferences
provideDocumentHighlights
provideDeclaration

Metadata

Assignees

No one assigned

    Labels

    Language ServicebugfixedCheck the Milestone for the release in which the fix is or will be available.

    Type

    Projects

    • Status

      Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions