Skip to content

Conversation

@rcjsuen
Copy link
Collaborator

@rcjsuen rcjsuen commented Sep 15, 2025

Inlay hints on Dockerfiles need to fetch data so it can take some time before the result can be returned. This means that everything else gets blocked because all JSON-RPC messages are being handled synchronously at the moment. To alleviate this problem, we will check for inlay hint requests and then handle them in a goroutine asynchronously so that other messages can continue to be processed.

Other messages may be changed to be handled asynchronously in the future but only inlay hint requests will be done this way for the time being. We want to be careful about introducing drastic changes to how messages are being handled as it is critical for the operation of the language server.

Fixes #467.

Inlay hints on Dockerfiles need to fetch data so it can take some time
before the result can be returned. This means that everything else gets
blocked because all JSON-RPC messages are being handled synchronously at
the moment. To alleviate this problem, we will check for inlay hint
requests and then handle them in a goroutine asynchronously so that
other messages can continue to be processed.

Other messages may be changed to be handled asynchronously in the future
but only inlay hint requests will be done this way for the time being.
We want to be careful about introducing drastic changes to how messages
are being handled as it is critical for the operation of the language
server.

Signed-off-by: Remy Suen <remy.suen@docker.com>
@rcjsuen rcjsuen self-assigned this Sep 15, 2025
@rcjsuen rcjsuen merged commit 59bad30 into main Sep 15, 2025
46 of 55 checks passed
@rcjsuen rcjsuen deleted the asynchronous-inlay-hints branch September 15, 2025 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dockerfile inlay hints blocks other LSP requests

2 participants