Every push triggers a new review, which creates a growing stack of review comments on the PR. On active PRs with many iterations, this clutters the conversation and makes it hard to find the current review state.
Proposed Solution
When posting a review, check if the same reviewer bot already has an existing review on the PR. If so, either:
Dismiss the old review and post a new one (keeps history but marks old as stale)
Edit the existing review body in-place (cleaner, single source of truth)
Implementation Ideas
Before posting, call GET /repos/{owner}/{repo}/pulls/{pr}/reviews and filter by the current reviewer username
If a previous review exists from the same bot:
Option A: Use POST /repos/{owner}/{repo}/pulls/{pr}/reviews/{id}/dismissals on the old one, then post new
Option B: Use PATCH /repos/{owner}/{repo}/pulls/{pr}/reviews/{id} to update the body (if Gitea supports it)
Add a --update-existing flag (default: true) so users can opt into the old behavior with --update-existing=false
Benefits
Cleaner PR threads
Single authoritative review per bot at any time
Easier to see current review state at a glance
Reduces notification spam for PR participants
## Problem
Every push triggers a new review, which creates a growing stack of review comments on the PR. On active PRs with many iterations, this clutters the conversation and makes it hard to find the current review state.
## Proposed Solution
When posting a review, check if the same reviewer bot already has an existing review on the PR. If so, either:
1. **Dismiss the old review and post a new one** (keeps history but marks old as stale)
2. **Edit the existing review body in-place** (cleaner, single source of truth)
## Implementation Ideas
- Before posting, call `GET /repos/{owner}/{repo}/pulls/{pr}/reviews` and filter by the current reviewer username
- If a previous review exists from the same bot:
- Option A: Use `POST /repos/{owner}/{repo}/pulls/{pr}/reviews/{id}/dismissals` on the old one, then post new
- Option B: Use `PATCH /repos/{owner}/{repo}/pulls/{pr}/reviews/{id}` to update the body (if Gitea supports it)
- Add a `--update-existing` flag (default: true) so users can opt into the old behavior with `--update-existing=false`
## Benefits
- Cleaner PR threads
- Single authoritative review per bot at any time
- Easier to see current review state at a glance
- Reduces notification spam for PR participants
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Every push triggers a new review, which creates a growing stack of review comments on the PR. On active PRs with many iterations, this clutters the conversation and makes it hard to find the current review state.
Proposed Solution
When posting a review, check if the same reviewer bot already has an existing review on the PR. If so, either:
Implementation Ideas
GET /repos/{owner}/{repo}/pulls/{pr}/reviewsand filter by the current reviewer usernamePOST /repos/{owner}/{repo}/pulls/{pr}/reviews/{id}/dismissalson the old one, then post newPATCH /repos/{owner}/{repo}/pulls/{pr}/reviews/{id}to update the body (if Gitea supports it)--update-existingflag (default: true) so users can opt into the old behavior with--update-existing=falseBenefits