diff --git a/store/searchlayer/user_layer.go b/store/searchlayer/user_layer.go index 32c07c7777..f1afbc9199 100644 --- a/store/searchlayer/user_layer.go +++ b/store/searchlayer/user_layer.go @@ -45,7 +45,9 @@ func (s *SearchUserStore) Search(teamId, term string, options *model.UserSearchO return []*model.User{}, nil } - usersIds, err := engine.SearchUsersInTeam(teamId, listOfAllowedChannels, term, options) + sanitizedTerm := sanitizeSearchTerm(term) + + usersIds, err := engine.SearchUsersInTeam(teamId, listOfAllowedChannels, sanitizedTerm, options) if err != nil { mlog.Error("Encountered error on Search", mlog.String("search_engine", engine.GetName()), mlog.Err(err)) continue @@ -101,10 +103,11 @@ func (s *SearchUserStore) autocompleteUsersInChannelByEngine(engine searchengine var err *model.AppError uchanIds := []string{} nuchanIds := []string{} + sanitizedTerm := sanitizeSearchTerm(term) if options.ListOfAllowedChannels != nil && !strings.Contains(strings.Join(options.ListOfAllowedChannels, "."), channelId) { - nuchanIds, err = engine.SearchUsersInTeam(teamId, options.ListOfAllowedChannels, term, options) + nuchanIds, err = engine.SearchUsersInTeam(teamId, options.ListOfAllowedChannels, sanitizedTerm, options) } else { - uchanIds, nuchanIds, err = engine.SearchUsersInChannel(teamId, channelId, options.ListOfAllowedChannels, term, options) + uchanIds, nuchanIds, err = engine.SearchUsersInChannel(teamId, channelId, options.ListOfAllowedChannels, sanitizedTerm, options) } if err != nil { return nil, err diff --git a/store/searchlayer/utils.go b/store/searchlayer/utils.go new file mode 100644 index 0000000000..176c4ed43e --- /dev/null +++ b/store/searchlayer/utils.go @@ -0,0 +1,10 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package searchlayer + +import "strings" + +func sanitizeSearchTerm(term string) string { + return strings.TrimLeft(term, "@") +} diff --git a/store/searchtest/user_layer.go b/store/searchtest/user_layer.go index 512048968b..7972fcd9ae 100644 --- a/store/searchtest/user_layer.go +++ b/store/searchtest/user_layer.go @@ -104,7 +104,7 @@ var searchUserStoreTests = []searchTest{ { Name: "Should ignore leading @ when searching users", Fn: testShouldIgnoreLeadingAtSymbols, - Tags: []string{ENGINE_MYSQL, ENGINE_POSTGRES}, + Tags: []string{ENGINE_ALL}, }, { Name: "Should search users in a case insensitive manner",