summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorDerrick Anderson <derrick@andersonwebstudio.com>2018-04-10 10:55:25 -0400
committerDerrick Anderson <derrick@andersonwebstudio.com>2018-04-10 10:55:25 -0400
commit332411490ded04b66d3cf843a4f31ba64aeb6d6f (patch)
tree5f3841176e2609ba0fb6e5a238b967ff454027c3 /app
parent0a6b96cb40d9dd5acca7e366df9cd14fa4eff6a7 (diff)
parent5856325c13ac8b9105a7ea6f674f0bf8a42fd0c1 (diff)
downloadchat-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.go12
-rw-r--r--app/notification_test.go6
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{},