From 40f1e0b1ff768abfd2ec706af146384ea7d63e0b Mon Sep 17 00:00:00 2001
From: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Date: Sun, 9 Mar 2025 15:50:23 +0000
Subject: [PATCH] [v10.0/forgejo] fix: revert issue rendering for `<a>` element
 (#7177)

**Backport:** https://codeberg.org/forgejo/forgejo/pulls/7171

- Issue title rendering can lead to nested `<a>` which is incorrect. So
revert a portion of forgejo/forgejo#6715.
- Integration test adjusted
- Resolves forgejo/forgejo#7076

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7177
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
---
 templates/user/dashboard/feeds.tmpl      | 2 +-
 tests/integration/user_dashboard_test.go | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/templates/user/dashboard/feeds.tmpl b/templates/user/dashboard/feeds.tmpl
index 85ae7266d9..e7c8c81d09 100644
--- a/templates/user/dashboard/feeds.tmpl
+++ b/templates/user/dashboard/feeds.tmpl
@@ -107,7 +107,7 @@
 				{{else if .GetOpType.InActions "create_pull_request"}}
 					<span class="text truncate issue title">{{RenderIssueTitle ctx (index .GetIssueInfos 1) (.Repo.ComposeMetas ctx)}}</span>
 				{{else if .GetOpType.InActions "comment_issue" "approve_pull_request" "reject_pull_request" "comment_pull"}}
-					<a href="{{.GetCommentLink ctx}}" class="text truncate issue title">{{RenderIssueTitle ctx (.GetIssueTitle ctx) (.Repo.ComposeMetas ctx)}}</a>
+					<a href="{{.GetCommentLink ctx}}" class="text truncate issue title">{{(.GetIssueTitle ctx) | RenderEmoji $.Context | RenderCodeBlock}}</a>
 					{{$comment := index .GetIssueInfos 1}}
 					{{if $comment}}
 						<div class="markup tw-text-14">{{RenderMarkdownToHtml ctx $comment}}</div>
diff --git a/tests/integration/user_dashboard_test.go b/tests/integration/user_dashboard_test.go
index 0ed5193c48..7f07de83cc 100644
--- a/tests/integration/user_dashboard_test.go
+++ b/tests/integration/user_dashboard_test.go
@@ -73,7 +73,11 @@ func TestDashboardTitleRendering(t *testing.T) {
 		count := 0
 		htmlDoc.doc.Find("#activity-feed .flex-item-main .title").Each(func(i int, s *goquery.Selection) {
 			count++
-			assert.EqualValues(t, ":exclamation: not rendered", s.Text())
+			if s.IsMatcher(goquery.Single("a")) {
+				assert.EqualValues(t, "❗ not rendered", s.Text())
+			} else {
+				assert.EqualValues(t, ":exclamation: not rendered", s.Text())
+			}
 		})
 
 		assert.EqualValues(t, 6, count)