Remove variation selectors in text messages sent to Discord. Fixes #13

This commit is contained in:
Tulir Asokan
2023-01-29 14:21:04 +02:00
parent 98f45991a4
commit d78d4c4da5

View File

@@ -28,6 +28,7 @@ import (
"maunium.net/go/mautrix/format" "maunium.net/go/mautrix/format"
"maunium.net/go/mautrix/format/mdext" "maunium.net/go/mautrix/format/mdext"
"maunium.net/go/mautrix/id" "maunium.net/go/mautrix/id"
"maunium.net/go/mautrix/util/variationselector"
) )
var discordExtensions = goldmark.WithExtensions(mdext.SimpleSpoiler, mdext.DiscordUnderline) var discordExtensions = goldmark.WithExtensions(mdext.SimpleSpoiler, mdext.DiscordUnderline)
@@ -174,8 +175,8 @@ func (portal *Portal) parseMatrixHTML(user *User, content *event.MessageEventCon
ctx := format.NewContext() ctx := format.NewContext()
ctx.ReturnData[formatterContextUserKey] = user ctx.ReturnData[formatterContextUserKey] = user
ctx.ReturnData[formatterContextPortalKey] = portal ctx.ReturnData[formatterContextPortalKey] = portal
return matrixHTMLParser.Parse(content.FormattedBody, ctx) return variationselector.Remove(matrixHTMLParser.Parse(content.FormattedBody, ctx))
} else { } else {
return escapeDiscordMarkdown(content.Body) return variationselector.Remove(escapeDiscordMarkdown(content.Body))
} }
} }