From 49bc00102b46e8396e82fe813e35ce99003c7f34 Mon Sep 17 00:00:00 2001
From: syuilo <syuilotan@yahoo.co.jp>
Date: Sat, 21 Jul 2018 08:54:41 +0900
Subject: [PATCH] Fix bug

---
 .../api/endpoints/users/search_by_username.ts      | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/server/api/endpoints/users/search_by_username.ts b/src/server/api/endpoints/users/search_by_username.ts
index 1d8553baef..bfab378389 100644
--- a/src/server/api/endpoints/users/search_by_username.ts
+++ b/src/server/api/endpoints/users/search_by_username.ts
@@ -28,7 +28,7 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
 		});
 
 	if (users.length < limit) {
-		const remoteUsers = await User
+		const otherUsers = await User
 			.find({
 				host: { $ne: null },
 				usernameLower: new RegExp('^' + escapeRegexp(query.toLowerCase()))
@@ -36,31 +36,33 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
 				limit: limit - users.length
 			});
 
-		users = users.concat(remoteUsers);
+		users = users.concat(otherUsers);
 	}
 
 	if (users.length < limit) {
-		const remoteUsers = await User
+		const otherUsers = await User
 			.find({
+				_id: { $nin: users.map(u => u._id) },
 				host: null,
 				usernameLower: new RegExp(escapeRegexp(query.toLowerCase()))
 			}, {
 				limit: limit - users.length
 			});
 
-		users = users.concat(remoteUsers);
+		users = users.concat(otherUsers);
 	}
 
 	if (users.length < limit) {
-		const remoteUsers = await User
+		const otherUsers = await User
 			.find({
+				_id: { $nin: users.map(u => u._id) },
 				host: { $ne: null },
 				usernameLower: new RegExp(escapeRegexp(query.toLowerCase()))
 			}, {
 				limit: limit - users.length
 			});
 
-		users = users.concat(remoteUsers);
+		users = users.concat(otherUsers);
 	}
 
 	// Serialize