diff options
author | Wim <wim@42.be> | 2022-05-06 23:32:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-06 23:32:25 +0200 |
commit | 2fa96ec0ed5d78357a11dee158cac9a9e6d7090d (patch) | |
tree | c506ad59e6ec320a52477709525844cf6859c9f7 /bridge | |
parent | 81e6f75aa491c7bfa11780dd622587cf5fff3c8f (diff) | |
download | matterbridge-msglm-2fa96ec0ed5d78357a11dee158cac9a9e6d7090d.tar.gz matterbridge-msglm-2fa96ec0ed5d78357a11dee158cac9a9e6d7090d.tar.bz2 matterbridge-msglm-2fa96ec0ed5d78357a11dee158cac9a9e6d7090d.zip |
Add KeepQuotedReply option for matrix to fix regression (#1823)
Matrix quotes replies and as of matterbridge 1.24.0 we strip those as this causes
issues with bridges support threading and have PreserveThreading enabled.
Introduced via https://github.com/42wim/matterbridge/commit/9a8ce9b17e560433731eb5efa3cee7ced0b93605
But if you for example use mattermost or discord with webhooks you'll need to enable
this if you want something that looks like a reply from matrix.
See issues:
- https://github.com/42wim/matterbridge/issues/1819
- https://github.com/42wim/matterbridge/issues/1780
Diffstat (limited to 'bridge')
-rw-r--r-- | bridge/discord/discord.go | 2 | ||||
-rw-r--r-- | bridge/matrix/matrix.go | 15 | ||||
-rw-r--r-- | bridge/mattermost/helpers.go | 1 |
3 files changed, 10 insertions, 8 deletions
diff --git a/bridge/discord/discord.go b/bridge/discord/discord.go index cd3db76d..ad08cd30 100644 --- a/bridge/discord/discord.go +++ b/bridge/discord/discord.go @@ -272,8 +272,6 @@ func (b *Bdiscord) Send(msg config.Message) (string, error) { // Handle prefix hint for unthreaded messages. if msg.ParentNotFound() { msg.ParentID = "" - msg.Text = strings.TrimPrefix(msg.Text, "\n") - msg.Text = fmt.Sprintf("> %s %s", msg.Username, msg.Text) } // Use webhook to send the message diff --git a/bridge/matrix/matrix.go b/bridge/matrix/matrix.go index a2525358..702f4c8d 100644 --- a/bridge/matrix/matrix.go +++ b/bridge/matrix/matrix.go @@ -428,12 +428,15 @@ func (b *Bmatrix) handleReply(ev *matrix.Event, rmsg config.Message) bool { } body := rmsg.Text - for strings.HasPrefix(body, "> ") { - lineIdx := strings.IndexRune(body, '\n') - if lineIdx == -1 { - body = "" - } else { - body = body[(lineIdx + 1):] + + if !b.GetBool("keepquotedreply") { + for strings.HasPrefix(body, "> ") { + lineIdx := strings.IndexRune(body, '\n') + if lineIdx == -1 { + body = "" + } else { + body = body[(lineIdx + 1):] + } } } diff --git a/bridge/mattermost/helpers.go b/bridge/mattermost/helpers.go index 23700a0c..c69d94fb 100644 --- a/bridge/mattermost/helpers.go +++ b/bridge/mattermost/helpers.go @@ -183,6 +183,7 @@ func (b *Bmattermost) sendWebhook(msg config.Message) (string, error) { if b.GetBool("PrefixMessagesWithNick") { msg.Text = msg.Username + msg.Text } + if msg.Extra != nil { // this sends a message only if we received a config.EVENT_FILE_FAILURE_SIZE for _, rmsg := range helper.HandleExtra(&msg, b.General) { |