From 2cacd4ec8182c396ddd2bbf9eb903407f3c63d4a Mon Sep 17 00:00:00 2001 From: Skip R Date: Wed, 17 Dec 2025 18:21:57 -0800 Subject: [PATCH] msgconv: bridge outgoing replies --- pkg/connector/capabilities.go | 3 ++- pkg/msgconv/from-matrix.go | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/connector/capabilities.go b/pkg/connector/capabilities.go index aceb5d5..b9c891f 100644 --- a/pkg/connector/capabilities.go +++ b/pkg/connector/capabilities.go @@ -55,7 +55,8 @@ func capID() string { } var discordCaps = &event.RoomFeatures{ - ID: capID(), + ID: capID(), + Reply: event.CapLevelFullySupported, Formatting: event.FormattingFeatureMap{ event.FmtBold: event.CapLevelFullySupported, event.FmtItalic: event.CapLevelFullySupported, diff --git a/pkg/msgconv/from-matrix.go b/pkg/msgconv/from-matrix.go index 5340757..3729c31 100644 --- a/pkg/msgconv/from-matrix.go +++ b/pkg/msgconv/from-matrix.go @@ -68,6 +68,13 @@ func (mc *MessageConverter) ToDiscord( var req discordgo.MessageSend req.Nonce = generateMessageNonce() + if msg.ReplyTo != nil { + req.Reference = &discordgo.MessageReference{ + ChannelID: string(msg.ReplyTo.Room.ID), + MessageID: string(msg.ReplyTo.ID), + } + } + switch msg.Content.MsgType { case event.MsgText, event.MsgEmote, event.MsgNotice: req.Content, req.AllowedMentions = mc.convertMatrixMessageContent(ctx, msg.Portal, msg.Content, parseAllowedLinkPreviews(msg.Event.Content.Raw))