Conversation
|
👋 Commands for maintainers:
|
| eventToPost := decision | ||
| if decision == "APPROVE" { | ||
| eventToPost = "COMMENT" | ||
| } |
There was a problem hiding this comment.
REQUEST_CHANGES review event not demoted like APPROVE
Medium Severity
The code demotes APPROVE to COMMENT to handle the GitHub self-review limitation, but doesn't apply the same demotion to REQUEST_CHANGES. GitHub doesn't allow submitting any formal review (including REQUEST_CHANGES) on your own PR. When Claude decides REQUEST_CHANGES, the SubmitPRReview call will fail with a GitHub API error, causing the agent to emit a failure instead of successfully posting the review feedback.
There was a problem hiding this comment.
I removed that part to switch to comment now it works good and approves it, we need to give it different github token than one we used to make a code and this will work
…tails about jira ticket, codeAgent the Claude integration with github that will automatically make chages and open PR, reviewAgent that will review PR, mergeAgent that will merge PR and we can continue from frem there Signed-off-by: Milan Popovic <milan.popovic@3ss.tv>
59ae890 to
a44e965
Compare
Signed-off-by: Milan Popovic <milan.popovic@3ss.tv>
Signed-off-by: Milan Popovic <milan.popovic@3ss.tv>
| return s | ||
| } | ||
| return s[:maxLen-3] + "..." | ||
| } |
There was a problem hiding this comment.
Truncate splits multi-byte UTF-8 characters by bytes
Low Severity
The truncate function uses len(s) (byte length) and slices with s[:maxLen-3], which operates on bytes rather than runes. For task descriptions containing multi-byte UTF-8 characters (e.g., CJK text, emoji), this can split a rune in half, producing an invalid UTF-8 string in the PR title passed to the GitHub API.
Signed-off-by: Milan Popovic <milan.popovic@3ss.tv>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
There are 4 total unresolved issues (including 2 from previous reviews).
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
|
|
||
| httpCtx.client = &http.Client{ | ||
| Timeout: 30 * time.Second, | ||
| Timeout: 120 * time.Second, |
There was a problem hiding this comment.
Global HTTP timeout quadrupled affecting all integrations
Medium Severity
The HTTP client timeout in NewHTTPContext was increased from 30s to 120s. This is a global change that affects every integration (Jira, Slack, Hetzner, Sentry, etc.), not just Claude API calls. While Claude code generation may need longer timeouts, other integrations that typically respond in seconds will now take up to 120s before timing out on failures, leading to slower error detection, potential goroutine/connection buildup, and degraded resilience across the entire system.
|
|
||
| func (r *ReviewAgent) Setup(ctx core.SetupContext) error { | ||
| spec := ReviewAgentSpec{} | ||
| decoder, _ := mapstructure.NewDecoder(&mapstructure.DecoderConfig{WeaklyTypedInput: true, Result: &spec}) |
There was a problem hiding this comment.
Discarded NewDecoder error risks nil pointer panic
Low Severity
The error from mapstructure.NewDecoder is discarded with _ in four places across review_agent.go and merge_agent.go. If NewDecoder ever returns an error, decoder would be nil, and the subsequent decoder.Decode() call would panic. The existing codebase pattern in hetzner/client.go and sentry/update_issue.go properly checks this error.


Implemented: