commit 925e5c5c100a6545496cc959c02cc0913407cc97
parent d402995763bd09d63e0efb4bcc7d8a0c4b776323
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Fri, 16 Jun 2023 21:03:41 -0700
fix code
Diffstat:
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/pkg/web/handlers/interceptors/msgInterceptor.go b/pkg/web/handlers/interceptors/msgInterceptor.go
@@ -306,9 +306,13 @@ type getUsersByUsernameFn func(usernames []string) ([]database.User, error)
// Update the given html to add user style for tags.
// Return the new html, and a map[userID]User of tagged users.
func colorifyTaggedUsers(html string, getUsersByUsername getUsersByUsernameFn) (string, map[database.UserID]database.User) {
- usernameMatches := tagRgx.FindAllStringSubmatch(html, -1)
+ tagRgxL := tagRgx
+ usernameMatches := tagRgxL.FindAllStringSubmatch(html, -1)
usernames := hashset.New[string]()
for _, usernameMatch := range usernameMatches {
+ if strings.HasPrefix(usernameMatch[0], `\`) {
+ continue
+ }
usernames.Insert(usernameMatch[1])
}
taggedUsers, _ := getUsersByUsername(usernames.ToArray())
@@ -323,7 +327,10 @@ func colorifyTaggedUsers(html string, getUsersByUsername getUsersByUsernameFn) (
}
if len(usernameMatches) > 0 {
- html = tagRgx.ReplaceAllStringFunc(html, func(s string) string {
+ html = tagRgxL.ReplaceAllStringFunc(html, func(s string) string {
+ if strings.HasPrefix(s, `\`) {
+ return strings.TrimPrefix(s, `\`)
+ }
lowerS := strings.ToLower(s)
if user, ok := taggedUsersMap[lowerS]; ok {
return fmt.Sprintf("<span %s>@%s</span>", user.GenerateChatStyle1(), user.Username)