Skip to content

Commit 8e368e7

Browse files
authored
[UI] Hide consecutive additions and removals of the same label (go-gitea#13315)
1 parent afe9d79 commit 8e368e7

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

routers/repo/issue.go

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2418,11 +2418,34 @@ func combineLabelComments(issue *models.Issue) {
24182418
c.AddedLabels[0] = c.Label
24192419
}
24202420
} else {
2421+
// Remove duplicated "added" and "removed" labels
2422+
// This way, adding and immediately removing a label won't generate a comment.
2423+
var appendingTo *[]*models.Label
2424+
var other *[]*models.Label
2425+
24212426
if removingCur {
2422-
prev.RemovedLabels = append(prev.RemovedLabels, c.Label)
2427+
appendingTo = &prev.RemovedLabels
2428+
other = &prev.AddedLabels
24232429
} else {
2424-
prev.AddedLabels = append(prev.AddedLabels, c.Label)
2430+
appendingTo = &prev.AddedLabels
2431+
other = &prev.RemovedLabels
2432+
}
2433+
2434+
appending := true
2435+
2436+
for i := 0; i < len(*other); i++ {
2437+
l := (*other)[i]
2438+
if l.ID == c.Label.ID {
2439+
*other = append((*other)[:i], (*other)[i+1:]...)
2440+
appending = false
2441+
break
2442+
}
2443+
}
2444+
2445+
if appending {
2446+
*appendingTo = append(*appendingTo, c.Label)
24252447
}
2448+
24262449
prev.CreatedUnix = c.CreatedUnix
24272450
issue.Comments = append(issue.Comments[:i], issue.Comments[i+1:]...)
24282451
continue

0 commit comments

Comments
 (0)