feat(gitlab): add option to publish /review output as a resolvable threads - #2545
Conversation
PR Summary by Qodofeat(gitlab): publish /review output as a resolvable thread
AI Description
Diagram
High-Level Assessment
Files changed (7)
|
Code Review by Qodo
1. Trailing whitespace in comment
|
|
Code review by qodo was updated up to the latest commit dfba8fb |
|
Code review by qodo was updated up to the latest commit bf358a9 |
|
Code review by qodo was updated up to the latest commit 54e7c85 |
|
1: this was fixed 3: Intentional: these handlers keep publishing degradable (fall back to a note / skip the reopen) instead of failing the review, and match the codebase convention for provider I/O. Narrowing would turn unanticipated errors (e.g. unwrapped network exceptions) into unpublished reviews, and callers catch everything anyway - nothing would surface louder. 6: |
|
Code review by qodo was updated up to the latest commit 3a1aa7b |
|
Went through this against main; the approach looks sound to me.
One scoping note for whoever reviews: this covers the review summary comment only, so the inline half of #2534 (and #2453) stays open. The cross-run fingerprints merged in #2424 are the primitive for that side, if someone picks it up. |
|
@ColtHands asked me to take a closer look (#2534). Design and tests hold up: the kwargs injection keeps providers without One behaviour worth documenting. Turning Converting an existing one would mean deleting and re-posting, and GitLab refuses to delete a note that has replies (the failure mode #2404 addresses), so a documented caveat looks better than a migration path here. |
|
Code review by qodo was updated up to the latest commit f14b01f |
|
@IsmaelMartinez thanks for review! |
|
Docs read right, and that's exactly the caveat I meant. LGTM. Full unit suite passes on the branch (1592). @naorpeled this is ready from my side. |
|
Amazing work @aivarsliepa !!! Also @IsmaelMartinez thanks for joining in the review process ❤️ |
Fixes #2534
What
Adds an opt-in GitLab setting to post the
/reviewsummary as a resolvable thread (discussion) instead of a plain note:Resolvable threads let reviewers treat the AI review like any human review: resolve it when addressed, and have it resurface when the review is refreshed.
Behavior
pr_reviewer.persistent_comment=true(default): the first run opens a thread; subsequent runs edit it in place and reopen (unresolve) it if it had been resolved.pr_reviewer.persistent_comment=false: each run opens a new thread; previous review threads are untouched.