dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 925e5c5c100a6545496cc959c02cc0913407cc97
parent d402995763bd09d63e0efb4bcc7d8a0c4b776323
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Fri, 16 Jun 2023 21:03:41 -0700

fix code

Diffstat:
Mpkg/web/handlers/interceptors/msgInterceptor.go | 11+++++++++--
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)