From 6f4c5c1d774e2c072865c565a0d9cdbccc154779 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 10 May 2023 14:54:13 +0300 Subject: [PATCH] Fix bridging animated emojis in messages Fixes #87 --- formatter_tag.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/formatter_tag.go b/formatter_tag.go index c74e4d2..c392de1 100644 --- a/formatter_tag.go +++ b/formatter_tag.go @@ -192,7 +192,7 @@ func (s *discordTagParser) Parse(parent ast.Node, block text.Reader, pc parser.C case strings.HasPrefix(tagName, ":"): return &astDiscordCustomEmoji{name: tagName, astDiscordTag: tag} case strings.HasPrefix(tagName, "a:"): - return &astDiscordCustomEmoji{name: tagName[1:], astDiscordTag: tag} + return &astDiscordCustomEmoji{name: tagName[1:], astDiscordTag: tag, animated: true} default: return nil } @@ -290,7 +290,11 @@ func (r *discordTagHTMLRenderer) renderDiscordMention(w util.BufWriter, source [ case *astDiscordCustomEmoji: reactionMXC := node.portal.getEmojiMXCByDiscordID(strconv.FormatInt(node.id, 10), node.name, node.animated) if !reactionMXC.IsEmpty() { - _, _ = fmt.Fprintf(w, `%[2]s`, reactionMXC.String(), node.name) + attrs := "data-mx-emoticon" + if node.animated { + attrs += " data-mau-animated-emoji" + } + _, _ = fmt.Fprintf(w, `%[2]s`, reactionMXC.String(), node.name, attrs) return } case *astDiscordTimestamp: