You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The language server has to obtain schema in order to have data for completion candidates and other features from whatever providers the user has in their configuration.
This currently happens literally behind the scenes, asynchronously, without the user knowing, which means the user isn't literally "blocked" while we're obtaining schema, but it does lead to a suboptimal UX:
user requests completion at pos line:col
server responds with no candidates and error "schema temporarily unavailable"
client caches this "no candidates" response
user retries few seconds later, when schema is available, but still gets "no candidates", because that's what's in cache, so client doesn't ask again for the same position, until the file is changed
Generally the user expects to be able to get completion straight away and it's not obvious why they aren't able to get it, or what the error ("schema temporarily unavailable") could mean and when they could retry.
Proposal
Report progress while obtaining schema to the client/UI to better inform the user when this background operation is running and when they could expect completion to work.
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.
Current Version
Use-cases
The language server has to obtain schema in order to have data for completion candidates and other features from whatever providers the user has in their configuration.
This currently happens literally behind the scenes, asynchronously, without the user knowing, which means the user isn't literally "blocked" while we're obtaining schema, but it does lead to a suboptimal UX:
line:col
Generally the user expects to be able to get completion straight away and it's not obvious why they aren't able to get it, or what the error ("schema temporarily unavailable") could mean and when they could retry.
Proposal
Report progress while obtaining schema to the client/UI to better inform the user when this background operation is running and when they could expect completion to work.
Related LSP methods
https://microsoft.github.io/language-server-protocol/specifications/specification-current/#window_workDoneProgress_create
https://microsoft.github.io/language-server-protocol/specifications/specification-current/#window_workDoneProgress_cancel
The text was updated successfully, but these errors were encountered: