Repository navigation
Preserve JSON-RPC error details in string formatting - #65500
Open
Jake Bailey (jakebailey) wants to merge 1 commit into
Open
Jake Bailey (jakebailey) wants to merge 1 commit into
Jake Bailey (jakebailey) wants to merge 1 commit into
Conversation
Successful data marshaling was treated as a failure, dropping useful details while unsupported values rendered an empty byte slice. Include successfully encoded details as JSON text and retain the basic code/message form when data is absent or cannot be marshaled. Cover the formatting and Error delegation in the existing protocol tests.
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues were identified for the JSON-RPC error-formatting change.
No open issues 🎉
What changed in this PR
Fixes the shared JSON-RPC error formatter so successfully serialized error details appear as readable JSON in error strings.
Changes:
- Corrects the success check and formats serialized data as text rather than byte values.
- Adds regression tests for JSON details, nil receivers, nil data, and unmarshalable data through both
String()andError().
| File | Description |
|---|---|
tsc/internal/lsp/lsproto/jsonrpc_test.go |
Adds error-formatting regression tests. |
tsc/internal/jsonrpc/jsonrpc.go |
Includes JSON details when serialization succeeds and data is non-nil. |
Review effort: Balanced
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This code was accidentally flipped around.