feat: always post fresh review, supersede old with collapsed body #38

Merged
rodin merged 3 commits from feat/34-always-post-fresh into main 2026-05-02 18:36:43 +00:00
Showing only changes of commit f6baa41b2c - Show all commits
+1 -22
View File
3
@@ -327,7 +327,7 @@ func main() {
// In shared-token mode, skip superseding to avoid clobbering sibling reviews.
sharedToken := hasSharedToken(existingReviews, sentinel)
if !sharedToken {
existing := findOwnReviewStrict(existingReviews, sentinel, *reviewerName)
existing := findOwnReview(existingReviews, sentinel)
if existing != nil {
commentID, err := giteaClient.GetTimelineReviewCommentID(ctx, owner, repoName, prNumber, sentinel)
if err != nil {
4
@@ -594,24 +594,3 @@ func findOwnReview(reviews []gitea.Review, sentinel string) *gitea.Review {
}
return best
}
// findOwnReviewStrict is like findOwnReview but also verifies the review
// was posted by the expected user (defense-in-depth against sentinel injection).
func findOwnReviewStrict(reviews []gitea.Review, sentinel, expectedLogin string) *gitea.Review {
var best *gitea.Review
for i := range reviews {
if !strings.Contains(reviews[i].Body, sentinel) {
continue
}
if strings.Contains(reviews[i].Body, "~~Original review~~") {
continue
}
if expectedLogin != "" && reviews[i].User.Login != expectedLogin {
continue
}
if best == nil || reviews[i].ID > best.ID {
best = &reviews[i]
}
}
return best
}
7