Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit 943cc6401864147d8135acef628ef670ddb73476 Author: Dellle <39235395+Dellle@users.noreply.github.com> Date: Thu Aug 20 22:41:53 2020 +0000 Remove HTML formatting for push messages (#1188) (#1189) When there is a valid HTML formatting then remove this in the cleartext field of the matrix client. This leads to nicer push messages on smartphone apps. Fix #1188 diff --git a/bridge/matrix/matrix.go b/bridge/matrix/matrix.go index 6521fe8..615dcfb 100644 --- a/bridge/matrix/matrix.go +++ b/bridge/matrix/matrix.go @@ -2013 +2015 @@ type Bmatrix struct {   UserID string   RoomMap map[string]string   sync.RWMutex - htmlTag *regexp.Regexp + htmlTag *regexp.Regexp + htmlReplacementTag *regexp.Regexp   *bridge.Config  }    func New(cfg *bridge.Config) bridge.Bridger {   b := &Bmatrix{Config: cfg}   b.htmlTag = regexp.MustCompile("</.*?>") + b.htmlReplacementTag = regexp.MustCompile("<[^>]*>")   b.RoomMap = make(map[string]string)   return b  } @@ -13213 +13420 @@ func (b *Bmatrix) Send(msg config.Message) (string, error) {   return resp.EventID, err   }   - username := html.EscapeString(msg.Username) + var username string + var plainUsername string   // check if we have a </tag>. if we have, we don't escape HTML. #696   if b.htmlTag.MatchString(msg.Username) {   username = msg.Username + // remove the HTML formatting for beautiful push messages #1188 + plainUsername = b.htmlReplacementTag.ReplaceAllString(msg.Username, "") + } else { + username = html.EscapeString(msg.Username) + plainUsername = msg.Username   } +   // Post normal message with HTML support (eg riot.im) - resp, err := b.mc.SendHTML(channel, msg.Username+msg.Text, username+helper.ParseMarkdown(msg.Text)) + resp, err := b.mc.SendHTML(channel, plainUsername+msg.Text, username+helper.ParseMarkdown(msg.Text))   if err != nil {   return "", err   }