From 22ada32d4ddc172654534db8d35e61b6d84f78b7 Mon Sep 17 00:00:00 2001 From: Bianca Nenciu Date: Fri, 19 Oct 2018 03:56:10 +0300 Subject: [PATCH] FIX: Strip @ when searching for users and groups. (#6506) --- app/assets/javascripts/discourse/lib/user-search.js.es6 | 4 ++++ test/javascripts/lib/user-search-test.js.es6 | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/app/assets/javascripts/discourse/lib/user-search.js.es6 b/app/assets/javascripts/discourse/lib/user-search.js.es6 index 0b2c13dba8c..e666a72a1b8 100644 --- a/app/assets/javascripts/discourse/lib/user-search.js.es6 +++ b/app/assets/javascripts/discourse/lib/user-search.js.es6 @@ -109,6 +109,10 @@ function organizeResults(r, options) { } export default function userSearch(options) { + if (options.term && options.term.length > 0 && options.term[0] === "@") { + options.term = options.term.substring(1); + } + var term = options.term || "", includeGroups = options.includeGroups, includeMentionableGroups = options.includeMentionableGroups, diff --git a/test/javascripts/lib/user-search-test.js.es6 b/test/javascripts/lib/user-search-test.js.es6 index 068b648627c..9d8bcbaf0a9 100644 --- a/test/javascripts/lib/user-search-test.js.es6 +++ b/test/javascripts/lib/user-search-test.js.es6 @@ -66,3 +66,8 @@ QUnit.test("it places groups unconditionally for exact match", async assert => { let results = await userSearch({ term: "Team" }); assert.equal(results[results.length - 1]["name"], "team"); }); + +QUnit.test("it strips @ from the beginning", async assert => { + let results = await userSearch({ term: "@Team" }); + assert.equal(results[results.length - 1]["name"], "team"); +});