Skip to content

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

Closed

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

Activity

  1. moved this from In progress to Done in cpptoolson Oct 30, 2024
  2. heartacker commented on Nov 8, 2024

    @heartacker
    Contributor

    good

  3. locked and limited conversation to collaborators on Dec 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

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