Thumbnail

rani/matterbridge.git

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

commit 7b28f5b2b297b618b84e77cd3286709737ac3c98 Author: Neil Hanlon <neil@shrug.pw> Date: Thu May 23 17:58:58 2024 +0000 Update post types and include system removals in skip logic (mattermost) (#2125) diff --git a/bridge/mattermost/helpers.go b/bridge/mattermost/helpers.go index cca1c4e..bc3eacb 100644 --- a/bridge/mattermost/helpers.go +++ b/bridge/mattermost/helpers.go @@ -17112 +17124 @@ func (b *Bmattermost) sendWebhook(msg config.Message) (string, error) {  }    // skipMessages returns true if this message should not be handled +//  //nolint:gocyclo,cyclop  func (b *Bmattermost) skipMessage(message *matterclient.Message) bool { +   // Handle join/leave - if message.Type == "system_join_leave" || - message.Type == "system_join_channel" || - message.Type == "system_leave_channel" { + skipJoinMessageTypes := map[string]struct{}{ + "system_join_leave": {}, //deprecated for system_add_to_channel + "system_leave_channel": {}, //deprecated for system_remove_from_channel + "system_join_channel": {}, + "system_add_to_channel": {}, + "system_remove_from_channel": {}, + "system_add_to_team": {}, + "system_remove_from_team": {}, + } + + // dirty hack to efficiently check if this element is in the map without writing a contains func + // can be replaced with native slice.contains with go 1.21 + if _, ok := skipJoinMessageTypes[message.Type]; ok {   if b.GetBool("nosendjoinpart") {   return true   }