diff options
author | Derrick Anderson <derrick@andersonwebstudio.com> | 2018-04-10 10:55:25 -0400 |
---|---|---|
committer | Derrick Anderson <derrick@andersonwebstudio.com> | 2018-04-10 10:55:25 -0400 |
commit | 332411490ded04b66d3cf843a4f31ba64aeb6d6f (patch) | |
tree | 5f3841176e2609ba0fb6e5a238b967ff454027c3 /app | |
parent | 0a6b96cb40d9dd5acca7e366df9cd14fa4eff6a7 (diff) | |
parent | 5856325c13ac8b9105a7ea6f674f0bf8a42fd0c1 (diff) | |
download | chat-332411490ded04b66d3cf843a4f31ba64aeb6d6f.tar.gz chat-332411490ded04b66d3cf843a4f31ba64aeb6d6f.tar.bz2 chat-332411490ded04b66d3cf843a4f31ba64aeb6d6f.zip |
Merge branch 'jespino-merge-release-4.9'
Diffstat (limited to 'app')
-rw-r--r-- | app/notification.go | 12 | ||||
-rw-r--r-- | app/notification_test.go | 6 |
2 files changed, 10 insertions, 8 deletions
diff --git a/app/notification.go b/app/notification.go index 0ea03c9d9..5b7ed5ad2 100644 --- a/app/notification.go +++ b/app/notification.go @@ -897,7 +897,9 @@ func GetExplicitMentions(message string, keywords map[string][]string) *Explicit continue } - if strings.ContainsAny(word, ".-:") { + if _, ok := systemMentions[word]; !ok && strings.HasPrefix(word, "@") { + ret.OtherPotentialMentions = append(ret.OtherPotentialMentions, word[1:]) + } else if strings.ContainsAny(word, ".-:") { // This word contains a character that may be the end of a sentence, so split further splitWords := strings.FieldsFunc(word, func(c rune) bool { return c == '.' || c == '-' || c == ':' @@ -908,16 +910,10 @@ func GetExplicitMentions(message string, keywords map[string][]string) *Explicit continue } if _, ok := systemMentions[splitWord]; !ok && strings.HasPrefix(splitWord, "@") { - username := splitWord[1:] - ret.OtherPotentialMentions = append(ret.OtherPotentialMentions, username) + ret.OtherPotentialMentions = append(ret.OtherPotentialMentions, splitWord[1:]) } } } - - if _, ok := systemMentions[word]; !ok && strings.HasPrefix(word, "@") { - username := word[1:] - ret.OtherPotentialMentions = append(ret.OtherPotentialMentions, username) - } } } diff --git a/app/notification_test.go b/app/notification_test.go index c72610b60..1abdd3d61 100644 --- a/app/notification_test.go +++ b/app/notification_test.go @@ -234,6 +234,12 @@ func TestGetExplicitMentions(t *testing.T) { OtherPotentialMentions: []string{"potential"}, }, }, + "PotentialOutOfChannelUserWithPeriod": { + Message: "this is an message for @potential.user", + Expected: &ExplicitMentions{ + OtherPotentialMentions: []string{"potential.user"}, + }, + }, "InlineCode": { Message: "`this shouldn't mention @channel at all`", Keywords: map[string][]string{}, |