MM-12941: Fixed problem with not-in-channel mentions users (#9974)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
32c35e254e
Коммит
5a37a606fc
@@ -486,7 +486,7 @@ func GetExplicitMentions(post *model.Post, keywords map[string][]string) *Explic
|
|||||||
|
|
||||||
foundWithoutSuffix := false
|
foundWithoutSuffix := false
|
||||||
wordWithoutSuffix := word
|
wordWithoutSuffix := word
|
||||||
for strings.LastIndexAny(wordWithoutSuffix, ".-:_") != -1 {
|
for len(wordWithoutSuffix) > 0 && strings.LastIndexAny(wordWithoutSuffix, ".-:_") == (len(wordWithoutSuffix)-1) {
|
||||||
wordWithoutSuffix = wordWithoutSuffix[0 : len(wordWithoutSuffix)-1]
|
wordWithoutSuffix = wordWithoutSuffix[0 : len(wordWithoutSuffix)-1]
|
||||||
|
|
||||||
if checkForMention(wordWithoutSuffix) {
|
if checkForMention(wordWithoutSuffix) {
|
||||||
|
|||||||
@@ -530,6 +530,20 @@ func TestGetExplicitMentions(t *testing.T) {
|
|||||||
HereMentioned: true,
|
HereMentioned: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"Name on keywords is a prefix of a mention": {
|
||||||
|
Message: "@other @test-two",
|
||||||
|
Keywords: map[string][]string{"@test": {model.NewId()}},
|
||||||
|
Expected: &ExplicitMentions{
|
||||||
|
OtherPotentialMentions: []string{"other", "test-two"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"Name on mentions is a prefix of other mention": {
|
||||||
|
Message: "@other-one @other @other-two",
|
||||||
|
Keywords: nil,
|
||||||
|
Expected: &ExplicitMentions{
|
||||||
|
OtherPotentialMentions: []string{"other-one", "other", "other-two"},
|
||||||
|
},
|
||||||
|
},
|
||||||
} {
|
} {
|
||||||
t.Run(name, func(t *testing.T) {
|
t.Run(name, func(t *testing.T) {
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user