diff --git a/app/assets/javascripts/discourse/app/lib/click-track.js b/app/assets/javascripts/discourse/app/lib/click-track.js
index fc7c2fa8ac3..52cadb5cff0 100644
--- a/app/assets/javascripts/discourse/app/lib/click-track.js
+++ b/app/assets/javascripts/discourse/app/lib/click-track.js
@@ -22,11 +22,11 @@ export function isValidLink(link) {
});
}
- // .hashtag == category/tag link
+ // .hashtag/.hashtag-cooked == category/tag link
// .back == quote back ^ button
if (
- ["lightbox", "no-track-link", "hashtag", "back"].some((name) =>
- link.classList.contains(name)
+ ["lightbox", "no-track-link", "hashtag", "hashtag-cooked", "back"].some(
+ (name) => link.classList.contains(name)
)
) {
return false;
@@ -47,7 +47,9 @@ export function isValidLink(link) {
return (
link.classList.contains("track-link") ||
- !link.closest(".hashtag, .badge-category, .onebox-result, .onebox-body")
+ !link.closest(
+ ".hashtag, .hashtag-cooked, .badge-category, .onebox-result, .onebox-body"
+ )
);
}
@@ -104,7 +106,9 @@ export default {
const link = e.currentTarget;
const tracking = isValidLink(link);
- // Return early for mentions and group mentions
+ // Return early for mentions and group mentions. This is not in
+ // isValidLink because returning true here allows the group card
+ // to pop up. If we returned false it would not.
if (
["mention", "mention-group"].some((name) => link.classList.contains(name))
) {
diff --git a/app/assets/javascripts/discourse/tests/unit/lib/click-track-test.js b/app/assets/javascripts/discourse/tests/unit/lib/click-track-test.js
index 51a3d1c319e..bf53abb11f1 100644
--- a/app/assets/javascripts/discourse/tests/unit/lib/click-track-test.js
+++ b/app/assets/javascripts/discourse/tests/unit/lib/click-track-test.js
@@ -40,7 +40,10 @@ module("Unit | Utility | click-track", function (hooks) {
google.com.br
forum
log.txt
- #hashtag
+ #hashtag
+ @joe
+ staff
+ @support
email-me
no href