Open
Conversation
Contributor
WalkthroughAdds a ValidationError type for user-facing plugin validation messages, returns HTTP 400 from the plugin server when such errors occur, and updates the API layer to detect and extract validation messages from plugin HTTP 400 responses. Changes
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributor
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@internal/api/plugin.go`:
- Around line 703-715: The handler treats plugin validation errors as HTTP 500;
change it to return HTTP 400: in internal/api/plugin.go where errors.As(err,
&httpErr) && httpErr.StatusCode == http.StatusBadRequest is checked, replace
c.JSON(http.StatusInternalServerError, ...) with c.JSON(http.StatusBadRequest,
...) for both the case that parses errResp.Message and the fallback that returns
"invalid request", so the function returns a 400 response using
NewErrorResponseWithMessage containing the plugin-provided message or the
fallback text.
In `@plugin/errors.go`:
- Around line 11-21: The ValidationError.Error method (and Unwrap) can panic if
the receiver or its Err is nil; update Error() to defensively handle a nil
receiver and nil e.Err by returning a safe string (e.g., empty string or the
Message) when nil, and update Unwrap() to return nil if receiver is nil; ensure
NewValidationError remains unchanged but mention ValidationError, Error(), and
Unwrap() so you modify those methods to perform nil checks before dereferencing
e.Err.
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.
Summary by CodeRabbit