Handle JDTLS internal errors in proxy#277
Conversation
|
Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: Палкин Артем.
|
b9b50a9 to
9a7d2c9
Compare
|
We require contributors to sign our Contributor License Agreement, and we don't have @imedfan on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'. |
|
@cla-bot check |
|
We require contributors to sign our Contributor License Agreement, and we don't have @imedfan on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'. |
|
The cla-bot has been summoned, and re-checked this pull request! |
|
@cla-bot check |
|
The cla-bot has been summoned, and re-checked this pull request! |
JDTLS can return JSON-RPC
Internal errorresponses for user-facing editor requests. In practice that can make completions, code actions, and navigation feel broken even when the language server process is still alive. It can also returnsignatureHelp.activeParameter = -1, which is invalid for clients expecting an unsigned integer.This change makes
java-lsp-proxymore defensive:completionItem/resolverequests.[]for failedcodeAction,codeLens, anddocumentHighlightrequests.nullfor failed definition, hover, and signature help requests.activeParameterfrom successful signature help responses.This is intended to improve resilience around failures similar to #226, #68, and #62 without changing managed JDTLS settings or project import defaults.
Validation:
cargo fmt --allcargo check --workspacecargo test --workspacecargo build --release --target wasm32-wasip1cargo build --release -p java-lsp-proxy --target aarch64-apple-darwin