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 | |
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
-rw-r--r-- | bridge/discord/discord.go | 2 | ||||
-rw-r--r-- | bridge/matrix/matrix.go | 15 | ||||
-rw-r--r-- | bridge/mattermost/helpers.go | 1 | ||||
-rw-r--r-- | matterbridge.toml.sample | 9 |
4 files changed, 19 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) { diff --git a/matterbridge.toml.sample b/matterbridge.toml.sample index a0fa7c0b..f004f4b6 100644 --- a/matterbridge.toml.sample +++ b/matterbridge.toml.sample @@ -1328,6 +1328,15 @@ HTMLDisable=false # UseUserName shows the username instead of the server nickname UseUserName=false +# 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. +# But if you for example use mattermost or discord with webhooks you'll need to enable +# this (and keep PreserveThreading disabled) 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 +KeepQuotedReply=false + #Nicks you want to ignore. #Regular expressions supported #Messages from those users will not be sent to other bridges. |