loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request 'services: Use proper Message-IDs for release mails' (#3309) from algernon/forgejo:are-we-dot-atom-text-yet into forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3309
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>

Gusted b6992ed6 9a80f6b5

+21 -2
+4
services/mailer/mail.go
··· 389 389 return fmt.Sprintf("<%s/%s/%d%s@%s>", issue.Repo.FullName(), path, issue.Index, extra, setting.Domain) 390 390 } 391 391 392 + func createMessageIDForRelease(rel *repo_model.Release) string { 393 + return fmt.Sprintf("<%s/releases/%d@%s>", rel.Repo.FullName(), rel.ID, setting.Domain) 394 + } 395 + 392 396 func generateAdditionalHeaders(ctx *mailCommentContext, reason string, recipient *user_model.User) map[string]string { 393 397 repo := ctx.Issue.Repo 394 398
+2 -2
services/mailer/mail_release.go
··· 86 86 87 87 msgs := make([]*Message, 0, len(tos)) 88 88 publisherName := rel.Publisher.DisplayName() 89 - relURL := "<" + rel.HTMLURL() + ">" 89 + msgID := createMessageIDForRelease(rel) 90 90 for _, to := range tos { 91 91 msg := NewMessageFrom(to, publisherName, setting.MailService.FromEmail, subject, mailBody.String()) 92 92 msg.Info = subject 93 - msg.SetHeader("Message-ID", relURL) 93 + msg.SetHeader("Message-ID", msgID) 94 94 msgs = append(msgs, msg) 95 95 } 96 96
+15
services/mailer/mailer_test.go
··· 7 7 "testing" 8 8 "time" 9 9 10 + repo_model "code.gitea.io/gitea/models/repo" 10 11 "code.gitea.io/gitea/modules/setting" 11 12 12 13 "github.com/stretchr/testify/assert" ··· 36 37 gm = m.ToMessage() 37 38 assert.Equal(t, "<msg-d@domain.com>", gm.GetHeader("Message-ID")[0]) 38 39 } 40 + 41 + func TestGenerateMessageIDForRelease(t *testing.T) { 42 + setting.Domain = "localhost" 43 + 44 + rel := repo_model.Release{ 45 + ID: 42, 46 + Repo: &repo_model.Repository{ 47 + OwnerName: "test", 48 + Name: "tag-test", 49 + }, 50 + } 51 + m := createMessageIDForRelease(&rel) 52 + assert.Equal(t, "<test/tag-test/releases/42@localhost>", m) 53 + }