From e5044107082c32f538ffbdea524f836a9249cf51 Mon Sep 17 00:00:00 2001
From: Ashley Nelson <fant@shley.email>
Date: Wed, 26 Oct 2022 02:44:05 -0500
Subject: [PATCH] Update milestone counters when issue is deleted (#21459)
 (#21586)

Backports #21459

When actions besides "delete" are performed on issues, the milestone
counter is updated. However, since deleting issues goes through a
different code path, the associated milestone's count wasn't being
updated, resulting in inaccurate counts until another issue in the same
milestone had a non-delete action performed on it.

I verified this change fixes the inaccurate counts using a local docker
build.

Co-authored-by: 6543 <6543@obermui.de>
---
 services/issue/issue.go | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/services/issue/issue.go b/services/issue/issue.go
index 467bc14b84..7c94582b82 100644
--- a/services/issue/issue.go
+++ b/services/issue/issue.go
@@ -224,6 +224,11 @@ func deleteIssue(issue *issues_model.Issue) error {
 		return err
 	}
 
+	if err := issues_model.UpdateMilestoneCounters(ctx, issue.MilestoneID); err != nil {
+		return fmt.Errorf("error updating counters for milestone id %d: %w",
+			issue.MilestoneID, err)
+	}
+
 	if err := models.DeleteIssueActions(ctx, issue.RepoID, issue.ID); err != nil {
 		return err
 	}