Closed mickaelistria closed 1 year ago
This seems to imply all the CompletableFuture<Void>
returns are incorrect in IDebugProtocolServer
- or that we need to change LSP4J to be more accepting and allow a response.
Do you have the original JSON for this case? The quoted text in the description does not look right (it looks like the toString output in the debugger rather than what came over the wire).
This is essentially a follow-up to #674 where better, but apparently still incomplete, Void handling was implemented.
The json message received from vscode-js-debug/dapDebugServer is
{"seq":5,"type":"response","request_seq":5,"command":"configurationDone","success":true,"body":{}}
I imagine 2 possible solutions: either when Void is expected, we always return null when the message is parsed (ie we rewrite test from #675 so the result is parsing is always null); or we just change the API so configurationDone returns a ConfigurationDoneResponse.
either when Void is expected, we always return null when the message is parsed (ie we rewrite test from https://github.com/eclipse-lsp4j/lsp4j/pull/675 so the result is parsing is always null);
I have tried this in #728
vscode-js-debug sends the following response to configurationDone:
This is legal according to the specification. However, this cause LSP4J to fail at parsing the message, because LSP4J mandates a
Void
. The exception is