]> source.dussan.org Git - gitea.git/commitdiff
Some more e-mail notification fixes (#9596)
authormrsdizzie <info@mrsdizzie.com>
Fri, 3 Jan 2020 17:13:22 +0000 (12:13 -0500)
committerLauris BH <lauris@nix.lv>
Fri, 3 Jan 2020 17:13:22 +0000 (19:13 +0200)
* Some more e-mail notification fixes

A few more small e-mail notification fixes/changes

* Style footer of notification email to be smaller
* Include text for when pull request is merged
* Don't include original body of issue or PR when merging/closing by
setting issue.Content to "" in these cases

* Set Re: prefix and meessage-ID headers based on actName instead of checking for a
comment. This fixes a bug where certain actions that didn't have a
comment were setting Message-ID instead of In-Reply-To which caused some
mail programs not to show those messages as they would have had the same
Message-ID as a previous message. Also fixes the case where a final
comment and closing message would have been displayed out of order if
you didn't have a copy of the original issue/pr cretion message.

* Update other template footers for consistency

modules/notification/mail/mail.go
services/mailer/mail.go
templates/mail/issue/assigned.tmpl
templates/mail/issue/default.tmpl
templates/mail/notify/collaborator.tmpl

index 5148434dca23eb3ce0ab5b9f24266ff45256f116..6cc6fda14bbb69ec26880318293cc70c4e5f4991 100644 (file)
@@ -53,6 +53,7 @@ func (m *mailNotifier) NotifyNewIssue(issue *models.Issue) {
 
 func (m *mailNotifier) NotifyIssueChangeStatus(doer *models.User, issue *models.Issue, actionComment *models.Comment, isClosed bool) {
        var actionType models.ActionType
+       issue.Content = ""
        if issue.IsPull {
                if isClosed {
                        actionType = models.ActionClosePullRequest
@@ -105,7 +106,7 @@ func (m *mailNotifier) NotifyMergePullRequest(pr *models.PullRequest, doer *mode
                log.Error("pr.LoadIssue: %v", err)
                return
        }
-
+       pr.Issue.Content = ""
        if err := mailer.MailParticipants(pr.Issue, doer, models.ActionMergePullRequest); err != nil {
                log.Error("MailParticipants: %v", err)
        }
index a8768de6cdbde210df595115c29fb4c2f8467f9f..fa40170d464ebe53d1d72f58bb7d1f504cbd1e23 100644 (file)
@@ -177,7 +177,6 @@ func composeIssueCommentMessages(ctx *mailCommentContext, tos []string, fromMent
 
        commentType := models.CommentTypeComment
        if ctx.Comment != nil {
-               prefix = "Re: "
                commentType = ctx.Comment.Type
                link = ctx.Issue.HTMLURL() + "#" + ctx.Comment.HashTag()
        } else {
@@ -189,13 +188,16 @@ func composeIssueCommentMessages(ctx *mailCommentContext, tos []string, fromMent
                reviewType = ctx.Comment.Review.Type
        }
 
-       fallback = prefix + fallbackMailSubject(ctx.Issue)
-
        // This is the body of the new issue or comment, not the mail body
        body := string(markup.RenderByType(markdown.MarkupName, []byte(ctx.Content), ctx.Issue.Repo.HTMLURL(), ctx.Issue.Repo.ComposeMetas()))
 
        actType, actName, tplName := actionToTemplate(ctx.Issue, ctx.ActionType, commentType, reviewType)
 
+       if actName != "new" {
+               prefix = "Re: "
+       }
+       fallback = prefix + fallbackMailSubject(ctx.Issue)
+
        if ctx.Comment != nil && ctx.Comment.Review != nil {
                reviewComments = make([]*models.Comment, 0, 10)
                for _, lines := range ctx.Comment.Review.CodeComments {
@@ -247,7 +249,7 @@ func composeIssueCommentMessages(ctx *mailCommentContext, tos []string, fromMent
                msg.Info = fmt.Sprintf("Subject: %s, %s", subject, info)
 
                // Set Message-ID on first message so replies know what to reference
-               if ctx.Comment == nil {
+               if actName == "new" {
                        msg.SetHeader("Message-ID", "<"+ctx.Issue.ReplyReference()+">")
                } else {
                        msg.SetHeader("In-Reply-To", "<"+ctx.Issue.ReplyReference()+">")
index 997e2447fc25e22a914b87e96be61dd5f63dfa7f..d302a16f26c7e276dbeb825ac1efd0e36ac24f46 100644 (file)
@@ -1,17 +1,21 @@
 <!DOCTYPE html>
 <html>
 <head>
+       <style>
+               .footer { font-size:small; color:#666;}
+       </style>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>{{.Subject}}</title>
 </head>
 
 <body>
        <p>@{{.Doer.Name}} assigned you to the {{if .IsPull}}pull request{{else}}issue{{end}} <a href="{{.Link}}">#{{.Issue.Index}}</a> in repository {{.Repo}}.</p>
-    <p>
-        ---
-        <br>
-        <a href="{{.Link}}">View it on {{AppName}}</a>.
-    </p>
-
+       <div class="footer">
+           <p>
+               ---
+               <br>
+               <a href="{{.Link}}">View it on {{AppName}}</a>.
+           </p>
+       </div>
 </body>
 </html>
index 71291c61bb511e8b51910cdc42c4b77065339238..aebad09cd300556de7e821b7c5f2ce81de18ca85 100644 (file)
@@ -3,12 +3,15 @@
 <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>{{.Subject}}</title>
-       {{if .ReviewComments}}
+
        <style>
-               .review { padding-left: 1em; margin: 1em 0; }
-               .review > pre { padding: 1em; border-left: 1px solid grey; }
+               .footer { font-size:small; color:#666;}
+               {{if .ReviewComments}}
+                       .review { padding-left: 1em; margin: 1em 0; }
+                       .review > pre { padding: 1em; border-left: 1px solid grey; }
+               {{end}}
        </style>
-       {{end}}
+
 </head>
 
 <body>
@@ -18,6 +21,8 @@
                        Closed #{{.Issue.Index}}.
                {{else if eq .ActionName "reopen"}}
                        Reopened #{{.Issue.Index}}.
+               {{else if eq .ActionName "merge"}}
+                       Merged #{{.Issue.Index}} into {{.Issue.PullRequest.BaseBranch}}.
                {{else if eq .ActionName "approve"}}
                        <b>@{{.Doer.Name}}</b> approved this pull request.
                {{else if eq .ActionName "reject"}}
                        </div>
                {{end -}}               
        </p>
+       <div class="footer">
        <p>
                ---
                <br>
                <a href="{{.Link}}">View it on {{AppName}}</a>.
        </p>
+       </div>
 </body>
 </html>
index 4bbf40bbc466e393530aef72386674b92b946f6b..947b4043999b84ab413d3ccd4c7adb8a4aecb69e 100644 (file)
@@ -1,16 +1,21 @@
 <!DOCTYPE html>
 <html>
 <head>
+       <style>
+               .footer { font-size:small; color:#666;}
+       </style>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>{{.Subject}}</title>
 </head>
 
 <body>
        <p>You have been added as a collaborator of repository: <code>{{.RepoName}}</code></p>
-       <p>
-               ---
-               <br>
-               <a href="{{.Link}}">View it on Gitea</a>.
-       </p>
+       <div class="footer">
+           <p>
+               ---
+               <br>
+               <a href="{{.Link}}">View it on {{AppName}}</a>.
+           </p>
+       </div>
 </body>
 </html>