Skip to content

Commit d3e5a65

Browse files
committed
fix
1 parent 171edfc commit d3e5a65

File tree

14 files changed

+69
-53
lines changed

14 files changed

+69
-53
lines changed

models/repo/repo.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -617,7 +617,7 @@ func (repo *Repository) CanEnableEditor() bool {
617617

618618
// DescriptionHTML does special handles to description and return HTML string.
619619
func (repo *Repository) DescriptionHTML(ctx context.Context) template.HTML {
620-
desc, err := markup.RenderDescriptionHTML(markup.NewRenderContext(ctx), repo.Description)
620+
desc, err := markup.PostProcessDescriptionHTML(markup.NewRenderContext(ctx), repo.Description)
621621
if err != nil {
622622
log.Error("Failed to render description for %s (ID: %d): %v", repo.Name, repo.ID, err)
623623
return template.HTML(markup.SanitizeDescription(repo.Description))

modules/markup/html.go

+25-20
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,9 @@ func PostProcessDefault(ctx *RenderContext, input io.Reader, output io.Writer) e
159159
return postProcess(ctx, procs, input, output)
160160
}
161161

162-
// RenderCommitMessage will use the same logic as PostProcess, but will disable
162+
// PostProcessCommitMessage will use the same logic as PostProcess, but will disable
163163
// the shortLinkProcessor.
164-
func RenderCommitMessage(ctx *RenderContext, content string) (string, error) {
164+
func PostProcessCommitMessage(ctx *RenderContext, content string) (string, error) {
165165
procs := []processor{
166166
fullIssuePatternProcessor,
167167
comparePatternProcessor,
@@ -183,11 +183,11 @@ var emojiProcessors = []processor{
183183
emojiProcessor,
184184
}
185185

186-
// RenderCommitMessageSubject will use the same logic as PostProcess and
187-
// RenderCommitMessage, but will disable the shortLinkProcessor and
186+
// PostProcessCommitMessageSubject will use the same logic as PostProcess and
187+
// PostProcessCommitMessage, but will disable the shortLinkProcessor and
188188
// emailAddressProcessor, will add a defaultLinkProcessor if defaultLink is set,
189189
// which changes every text node into a link to the passed default link.
190-
func RenderCommitMessageSubject(ctx *RenderContext, defaultLink, content string) (string, error) {
190+
func PostProcessCommitMessageSubject(ctx *RenderContext, defaultLink, content string) (string, error) {
191191
procs := []processor{
192192
fullIssuePatternProcessor,
193193
comparePatternProcessor,
@@ -211,40 +211,45 @@ func RenderCommitMessageSubject(ctx *RenderContext, defaultLink, content string)
211211
return postProcessString(ctx, procs, content)
212212
}
213213

214-
// RenderIssueTitle to process title on individual issue/pull page
215-
func RenderIssueTitle(ctx *RenderContext, title string) (string, error) {
216-
// do not render other issue/commit links in an issue's title - which in most cases is already a link.
214+
// PostProcessIssueTitle to process title on individual issue/pull page
215+
func PostProcessIssueTitle(ctx *RenderContext, title string) (string, error) {
217216
return postProcessString(ctx, []processor{
217+
issueIndexPatternProcessor,
218+
commitCrossReferencePatternProcessor,
219+
hashCurrentPatternProcessor,
218220
emojiShortCodeProcessor,
219221
emojiProcessor,
220222
}, title)
221223
}
222224

223-
func postProcessString(ctx *RenderContext, procs []processor, content string) (string, error) {
224-
var buf strings.Builder
225-
if err := postProcess(ctx, procs, strings.NewReader(content), &buf); err != nil {
226-
return "", err
227-
}
228-
return buf.String(), nil
229-
}
230-
231-
// RenderDescriptionHTML will use similar logic as PostProcess, but will
225+
// PostProcessDescriptionHTML will use similar logic as PostProcess, but will
232226
// use a single special linkProcessor.
233-
func RenderDescriptionHTML(ctx *RenderContext, content string) (string, error) {
227+
func PostProcessDescriptionHTML(ctx *RenderContext, content string) (string, error) {
234228
return postProcessString(ctx, []processor{
235229
descriptionLinkProcessor,
236230
emojiShortCodeProcessor,
237231
emojiProcessor,
238232
}, content)
239233
}
240234

241-
// RenderEmoji for when we want to just process emoji and shortcodes
235+
// PostProcessEmoji for when we want to just process emoji and shortcodes
242236
// in various places it isn't already run through the normal markdown processor
243-
func RenderEmoji(ctx *RenderContext, content string) (string, error) {
237+
func PostProcessEmoji(ctx *RenderContext, content string) (string, error) {
244238
return postProcessString(ctx, emojiProcessors, content)
245239
}
246240

241+
func postProcessString(ctx *RenderContext, procs []processor, content string) (string, error) {
242+
var buf strings.Builder
243+
if err := postProcess(ctx, procs, strings.NewReader(content), &buf); err != nil {
244+
return "", err
245+
}
246+
return buf.String(), nil
247+
}
248+
247249
func postProcess(ctx *RenderContext, procs []processor, input io.Reader, output io.Writer) error {
250+
if !ctx.usedByRender && ctx.RenderHelper != nil {
251+
defer ctx.RenderHelper.CleanUp()
252+
}
248253
// FIXME: don't read all content to memory
249254
rawHTML, err := io.ReadAll(input)
250255
if err != nil {

modules/markup/html_internal_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -252,15 +252,15 @@ func TestRender_IssueIndexPattern_NoShortPattern(t *testing.T) {
252252
testRenderIssueIndexPattern(t, "!1", "!1", NewTestRenderContext(metas))
253253
}
254254

255-
func TestRender_RenderIssueTitle(t *testing.T) {
255+
func TestRender_PostProcessIssueTitle(t *testing.T) {
256256
setting.AppURL = TestAppURL
257257
metas := map[string]string{
258258
"format": "https://someurl.com/{user}/{repo}/{index}",
259259
"user": "someUser",
260260
"repo": "someRepo",
261261
"style": IssueNameStyleNumeric,
262262
}
263-
actual, err := RenderIssueTitle(NewTestRenderContext(metas), "#1")
263+
actual, err := PostProcessIssueTitle(NewTestRenderContext(metas), "#1")
264264
assert.NoError(t, err)
265265
assert.Equal(t, "#1", actual)
266266
}

modules/markup/render.go

+4
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ type RenderOptions struct {
5757
type RenderContext struct {
5858
ctx context.Context
5959

60+
// the context might be used by the "render" function, but it might also be used by "postProcess" function
61+
usedByRender bool
62+
6063
SidebarTocNode ast.Node
6164

6265
RenderHelper RenderHelper
@@ -182,6 +185,7 @@ func pipes() (io.ReadCloser, io.WriteCloser, func()) {
182185
}
183186

184187
func render(ctx *RenderContext, renderer Renderer, input io.Reader, output io.Writer) error {
188+
ctx.usedByRender = true
185189
if ctx.RenderHelper != nil {
186190
defer ctx.RenderHelper.CleanUp()
187191
}

modules/templates/util_render.go

+17-10
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ func (ut *RenderUtils) RenderCommitMessage(msg string, metas map[string]string)
3838
cleanMsg := template.HTMLEscapeString(msg)
3939
// we can safely assume that it will not return any error, since there
4040
// shouldn't be any special HTML.
41-
fullMessage, err := markup.RenderCommitMessage(markup.NewRenderContext(ut.ctx).WithMetas(metas), cleanMsg)
41+
fullMessage, err := markup.PostProcessCommitMessage(markup.NewRenderContext(ut.ctx).WithMetas(metas), cleanMsg)
4242
if err != nil {
43-
log.Error("RenderCommitMessage: %v", err)
43+
log.Error("PostProcessCommitMessage: %v", err)
4444
return ""
4545
}
4646
msgLines := strings.Split(strings.TrimSpace(fullMessage), "\n")
@@ -65,9 +65,9 @@ func (ut *RenderUtils) RenderCommitMessageLinkSubject(msg, urlDefault string, me
6565

6666
// we can safely assume that it will not return any error, since there
6767
// shouldn't be any special HTML.
68-
renderedMessage, err := markup.RenderCommitMessageSubject(markup.NewRenderContext(ut.ctx).WithMetas(metas), urlDefault, template.HTMLEscapeString(msgLine))
68+
renderedMessage, err := markup.PostProcessCommitMessageSubject(markup.NewRenderContext(ut.ctx).WithMetas(metas), urlDefault, template.HTMLEscapeString(msgLine))
6969
if err != nil {
70-
log.Error("RenderCommitMessageSubject: %v", err)
70+
log.Error("PostProcessCommitMessageSubject: %v", err)
7171
return ""
7272
}
7373
return renderCodeBlock(template.HTML(renderedMessage))
@@ -87,9 +87,9 @@ func (ut *RenderUtils) RenderCommitBody(msg string, metas map[string]string) tem
8787
return ""
8888
}
8989

90-
renderedMessage, err := markup.RenderCommitMessage(markup.NewRenderContext(ut.ctx).WithMetas(metas), template.HTMLEscapeString(msgLine))
90+
renderedMessage, err := markup.PostProcessCommitMessage(markup.NewRenderContext(ut.ctx).WithMetas(metas), template.HTMLEscapeString(msgLine))
9191
if err != nil {
92-
log.Error("RenderCommitMessage: %v", err)
92+
log.Error("PostProcessCommitMessage: %v", err)
9393
return ""
9494
}
9595
return template.HTML(renderedMessage)
@@ -106,12 +106,19 @@ func renderCodeBlock(htmlEscapedTextToRender template.HTML) template.HTML {
106106

107107
// RenderIssueTitle renders issue/pull title with defined post processors
108108
func (ut *RenderUtils) RenderIssueTitle(text string, metas map[string]string) template.HTML {
109-
renderedText, err := markup.RenderIssueTitle(markup.NewRenderContext(ut.ctx).WithMetas(metas), template.HTMLEscapeString(text))
109+
renderedText, err := markup.PostProcessIssueTitle(markup.NewRenderContext(ut.ctx).WithMetas(metas), template.HTMLEscapeString(text))
110110
if err != nil {
111-
log.Error("RenderIssueTitle: %v", err)
111+
log.Error("PostProcessIssueTitle: %v", err)
112112
return ""
113113
}
114-
return template.HTML(renderedText)
114+
return renderCodeBlock(template.HTML(renderedText))
115+
}
116+
117+
// RenderIssueSimpleTitle only renders with emoji and inline code block
118+
func (ut *RenderUtils) RenderIssueSimpleTitle(text string) template.HTML {
119+
ret := ut.RenderEmoji(text)
120+
ret = renderCodeBlock(ret)
121+
return ret
115122
}
116123

117124
// RenderLabel renders a label
@@ -174,7 +181,7 @@ func (ut *RenderUtils) RenderLabel(label *issues_model.Label) template.HTML {
174181

175182
// RenderEmoji renders html text with emoji post processors
176183
func (ut *RenderUtils) RenderEmoji(text string) template.HTML {
177-
renderedText, err := markup.RenderEmoji(markup.NewRenderContext(ut.ctx), template.HTMLEscapeString(text))
184+
renderedText, err := markup.PostProcessEmoji(markup.NewRenderContext(ut.ctx), template.HTMLEscapeString(text))
178185
if err != nil {
179186
log.Error("RenderEmoji: %v", err)
180187
return ""

modules/templates/util_render_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,11 @@ com 88fc37a3c0a4dda553bdcfc80c178a58247f42fb mit
164164
<span class="emoji" aria-label="thumbs up">👍</span>
165165
mail@domain.com
166166
@mention-user test
167-
#123
167+
<a href="/user13/repo11/issues/123" class="ref-issue">#123</a>
168168
space<SPACE><SPACE>
169169
`
170170
expected = strings.ReplaceAll(expected, "<SPACE>", " ")
171-
assert.EqualValues(t, expected, string(newTestRenderUtils().RenderIssueTitle(testInput(), nil)))
171+
assert.EqualValues(t, expected, string(newTestRenderUtils().RenderIssueTitle(testInput(), testMetas)))
172172
}
173173

174174
func TestRenderMarkdownToHtml(t *testing.T) {

routers/web/repo/commit.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -394,9 +394,9 @@ func Diff(ctx *context.Context) {
394394
ctx.Data["NoteCommit"] = note.Commit
395395
ctx.Data["NoteAuthor"] = user_model.ValidateCommitWithEmail(ctx, note.Commit)
396396
rctx := renderhelper.NewRenderContextRepoComment(ctx, ctx.Repo.Repository, renderhelper.RepoCommentOptions{CurrentRefPath: path.Join("commit", util.PathEscapeSegments(commitID))})
397-
ctx.Data["NoteRendered"], err = markup.RenderCommitMessage(rctx, template.HTMLEscapeString(string(charset.ToUTF8WithFallback(note.Message, charset.ConvertOpts{}))))
397+
ctx.Data["NoteRendered"], err = markup.PostProcessCommitMessage(rctx, template.HTMLEscapeString(string(charset.ToUTF8WithFallback(note.Message, charset.ConvertOpts{}))))
398398
if err != nil {
399-
ctx.ServerError("RenderCommitMessage", err)
399+
ctx.ServerError("PostProcessCommitMessage", err)
400400
return
401401
}
402402
}

templates/repo/diff/compare.tmpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@
187187
<div class="ui segment flex-text-block tw-gap-4">
188188
{{template "shared/issueicon" .}}
189189
<div class="issue-title tw-break-anywhere">
190-
{{ctx.RenderUtils.RenderIssueTitle .PullRequest.Issue.Title ($.Repository.ComposeMetas ctx) | RenderCodeBlock}}
190+
{{ctx.RenderUtils.RenderIssueTitle .PullRequest.Issue.Title ($.Repository.ComposeMetas ctx)}}
191191
<span class="index">#{{.PullRequest.Issue.Index}}</span>
192192
</div>
193193
<a href="{{$.RepoLink}}/pulls/{{.PullRequest.Issue.Index}}" class="ui compact button primary">

templates/repo/issue/card.tmpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<div class="issue-card-icon">
1515
{{template "shared/issueicon" .}}
1616
</div>
17-
<a class="issue-card-title muted issue-title tw-break-anywhere" href="{{.Link}}">{{.Title | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</a>
17+
<a class="issue-card-title muted issue-title tw-break-anywhere" href="{{.Link}}">{{.Title | ctx.RenderUtils.RenderIssueSimpleTitle}}</a>
1818
{{if and $.isPinnedIssueCard $.Page.IsRepoAdmin}}
1919
<a role="button" class="issue-card-unpin muted tw-flex tw-items-center" data-tooltip-content={{ctx.Locale.Tr "repo.issues.unpin_issue"}} data-issue-id="{{.ID}}" data-unpin-url="{{$.Page.Link}}/unpin/{{.Index}}">
2020
{{svg "octicon-x" 16}}

templates/repo/issue/view_title.tmpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
{{$canEditIssueTitle := and (or .HasIssuesOrPullsWritePermission .IsIssuePoster) (not .Repository.IsArchived)}}
1414
<div class="issue-title" id="issue-title-display">
1515
<h1 class="tw-break-anywhere">
16-
{{ctx.RenderUtils.RenderIssueTitle .Issue.Title ($.Repository.ComposeMetas ctx) | RenderCodeBlock}}
16+
{{ctx.RenderUtils.RenderIssueTitle .Issue.Title ($.Repository.ComposeMetas ctx)}}
1717
<span class="index">#{{.Issue.Index}}</span>
1818
</h1>
1919
<div class="issue-title-buttons">

templates/repo/pulse.tmpl

+7-7
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@
125125
<span class="ui green label">{{ctx.Locale.Tr "repo.activity.published_release_label"}}</span>
126126
{{.TagName}}
127127
{{if not .IsTag}}
128-
<a class="title" href="{{$.RepoLink}}/src/{{.TagName | PathEscapeSegments}}">{{.Title | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</a>
128+
<a class="title" href="{{$.RepoLink}}/src/{{.TagName | PathEscapeSegments}}">{{.Title | ctx.RenderUtils.RenderIssueSimpleTitle}}</a>
129129
{{end}}
130130
{{DateUtils.TimeSince .CreatedUnix}}
131131
</p>
@@ -145,7 +145,7 @@
145145
{{range .Activity.MergedPRs}}
146146
<p class="desc">
147147
<span class="ui purple label">{{ctx.Locale.Tr "repo.activity.merged_prs_label"}}</span>
148-
#{{.Index}} <a class="title" href="{{$.RepoLink}}/pulls/{{.Index}}">{{.Issue.Title | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</a>
148+
#{{.Index}} <a class="title" href="{{$.RepoLink}}/pulls/{{.Index}}">{{.Issue.Title | ctx.RenderUtils.RenderIssueSimpleTitle}}</a>
149149
{{DateUtils.TimeSince .MergedUnix}}
150150
</p>
151151
{{end}}
@@ -164,7 +164,7 @@
164164
{{range .Activity.OpenedPRs}}
165165
<p class="desc">
166166
<span class="ui green label">{{ctx.Locale.Tr "repo.activity.opened_prs_label"}}</span>
167-
#{{.Index}} <a class="title" href="{{$.RepoLink}}/pulls/{{.Index}}">{{.Issue.Title | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</a>
167+
#{{.Index}} <a class="title" href="{{$.RepoLink}}/pulls/{{.Index}}">{{.Issue.Title | ctx.RenderUtils.RenderIssueSimpleTitle}}</a>
168168
{{DateUtils.TimeSince .Issue.CreatedUnix}}
169169
</p>
170170
{{end}}
@@ -183,7 +183,7 @@
183183
{{range .Activity.ClosedIssues}}
184184
<p class="desc">
185185
<span class="ui red label">{{ctx.Locale.Tr "repo.activity.closed_issue_label"}}</span>
186-
#{{.Index}} <a class="title" href="{{$.RepoLink}}/issues/{{.Index}}">{{.Title | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</a>
186+
#{{.Index}} <a class="title" href="{{$.RepoLink}}/issues/{{.Index}}">{{.Title | ctx.RenderUtils.RenderIssueSimpleTitle}}</a>
187187
{{DateUtils.TimeSince .ClosedUnix}}
188188
</p>
189189
{{end}}
@@ -202,7 +202,7 @@
202202
{{range .Activity.OpenedIssues}}
203203
<p class="desc">
204204
<span class="ui green label">{{ctx.Locale.Tr "repo.activity.new_issue_label"}}</span>
205-
#{{.Index}} <a class="title" href="{{$.RepoLink}}/issues/{{.Index}}">{{.Title | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</a>
205+
#{{.Index}} <a class="title" href="{{$.RepoLink}}/issues/{{.Index}}">{{.Title | ctx.RenderUtils.RenderIssueSimpleTitle}}</a>
206206
{{DateUtils.TimeSince .CreatedUnix}}
207207
</p>
208208
{{end}}
@@ -220,9 +220,9 @@
220220
<span class="ui green label">{{ctx.Locale.Tr "repo.activity.unresolved_conv_label"}}</span>
221221
#{{.Index}}
222222
{{if .IsPull}}
223-
<a class="title" href="{{$.RepoLink}}/pulls/{{.Index}}">{{.Title | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</a>
223+
<a class="title" href="{{$.RepoLink}}/pulls/{{.Index}}">{{.Title | ctx.RenderUtils.RenderIssueSimpleTitle}}</a>
224224
{{else}}
225-
<a class="title" href="{{$.RepoLink}}/issues/{{.Index}}">{{.Title | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</a>
225+
<a class="title" href="{{$.RepoLink}}/issues/{{.Index}}">{{.Title | ctx.RenderUtils.RenderIssueSimpleTitle}}</a>
226226
{{end}}
227227
{{DateUtils.TimeSince .UpdatedUnix}}
228228
</p>

templates/shared/issuelist.tmpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<div class="flex-item-main">
1414
<div class="flex-item-header">
1515
<div class="flex-item-title">
16-
<a class="tw-no-underline issue-title" href="{{if .Link}}{{.Link}}{{else}}{{$.Link}}/{{.Index}}{{end}}">{{ctx.RenderUtils.RenderEmoji .Title | RenderCodeBlock}}</a>
16+
<a class="tw-no-underline issue-title" href="{{if .Link}}{{.Link}}{{else}}{{$.Link}}/{{.Index}}{{end}}">{{.Title | ctx.RenderUtils.RenderIssueSimpleTitle}}</a>
1717
{{if .IsPull}}
1818
{{if (index $.CommitStatuses .PullRequest.ID)}}
1919
{{template "repo/commit_statuses" dict "Status" (index $.CommitLastStatus .PullRequest.ID) "Statuses" (index $.CommitStatuses .PullRequest.ID)}}

templates/user/dashboard/feeds.tmpl

+4-4
Original file line numberDiff line numberDiff line change
@@ -100,19 +100,19 @@
100100
<a href="{{AppSubUrl}}/{{$push.CompareURL}}">{{ctx.Locale.Tr "action.compare_commits" $push.Len}} »</a>
101101
{{end}}
102102
{{else if .GetOpType.InActions "create_issue"}}
103-
<span class="text truncate issue title">{{index .GetIssueInfos 1 | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</span>
103+
<span class="text truncate issue title">{{index .GetIssueInfos 1 | ctx.RenderUtils.RenderIssueSimpleTitle}}</span>
104104
{{else if .GetOpType.InActions "create_pull_request"}}
105-
<span class="text truncate issue title">{{index .GetIssueInfos 1 | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</span>
105+
<span class="text truncate issue title">{{index .GetIssueInfos 1 | ctx.RenderUtils.RenderIssueSimpleTitle}}</span>
106106
{{else if .GetOpType.InActions "comment_issue" "approve_pull_request" "reject_pull_request" "comment_pull"}}
107-
<a href="{{.GetCommentLink ctx}}" class="text truncate issue title">{{(.GetIssueTitle ctx) | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</a>
107+
<a href="{{.GetCommentLink ctx}}" class="text truncate issue title">{{(.GetIssueTitle ctx) | ctx.RenderUtils.RenderIssueSimpleTitle}}</a>
108108
{{$comment := index .GetIssueInfos 1}}
109109
{{if $comment}}
110110
<div class="markup tw-text-14">{{ctx.RenderUtils.MarkdownToHtml $comment}}</div>
111111
{{end}}
112112
{{else if .GetOpType.InActions "merge_pull_request"}}
113113
<div class="flex-item-body text black">{{index .GetIssueInfos 1}}</div>
114114
{{else if .GetOpType.InActions "close_issue" "reopen_issue" "close_pull_request" "reopen_pull_request"}}
115-
<span class="text truncate issue title">{{(.GetIssueTitle ctx) | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}</span>
115+
<span class="text truncate issue title">{{(.GetIssueTitle ctx) | ctx.RenderUtils.RenderIssueSimpleTitle}}</span>
116116
{{else if .GetOpType.InActions "pull_review_dismissed"}}
117117
<div class="flex-item-body text black">{{ctx.Locale.Tr "action.review_dismissed_reason"}}</div>
118118
<div class="flex-item-body text black">{{index .GetIssueInfos 2 | ctx.RenderUtils.RenderEmoji}}</div>

templates/user/notification/notification_div.tmpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
<div class="notifications-bottom-row tw-text-16 tw-py-0.5">
5454
<span class="issue-title tw-break-anywhere">
5555
{{if .Issue}}
56-
{{.Issue.Title | ctx.RenderUtils.RenderEmoji | RenderCodeBlock}}
56+
{{.Issue.Title | ctx.RenderUtils.RenderIssueSimpleTitle}}
5757
{{else}}
5858
{{.Repository.FullName}}
5959
{{end}}

0 commit comments

Comments
 (0)