From f0cc29761d4acdadc7db4b13128b15cc00c621c7 Mon Sep 17 00:00:00 2001
From: John Olheiser <john.olheiser@gmail.com>
Date: Thu, 3 Dec 2020 14:25:49 -0600
Subject: [PATCH] Make sure email recipients can see issue (#13820)

* Initial pass

Signed-off-by: jolheiser <john.olheiser@gmail.com>

* Remove over-op

Signed-off-by: jolheiser <john.olheiser@gmail.com>
---
 services/mailer/mail_issue.go | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/services/mailer/mail_issue.go b/services/mailer/mail_issue.go
index 01c198984b..30b54eb6cb 100644
--- a/services/mailer/mail_issue.go
+++ b/services/mailer/mail_issue.go
@@ -122,7 +122,17 @@ func mailIssueCommentBatch(ctx *mailCommentContext, ids []int64, visited map[int
 		if err != nil {
 			return err
 		}
-		// TODO: Check issue visibility for each user
+
+		// Make sure all recipients can still see the issue
+		idx := 0
+		for _, r := range recipients {
+			if ctx.Issue.Repo.CheckUnitUser(r, models.UnitTypeIssues) {
+				recipients[idx] = r
+				idx++
+			}
+		}
+		recipients = recipients[:idx]
+
 		// TODO: Separate recipients by language for i18n mail templates
 		tos := make([]string, len(recipients))
 		for i := range recipients {