From 120474ec6a4744e111eb06fb26d1638a7fb0eb6c Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 30 Oct 2018 21:55:16 +0900 Subject: Fix bug --- src/services/note/create.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/services/note') diff --git a/src/services/note/create.ts b/src/services/note/create.ts index 6d371e370f..7e97740edd 100644 --- a/src/services/note/create.ts +++ b/src/services/note/create.ts @@ -611,19 +611,21 @@ function incNotesCount(user: IUser) { async function extractMentionedUsers(tokens: ReturnType): Promise { if (tokens == null) return []; - const mentionTokens = unique( - tokens - .filter(t => t.type == 'mention') as TextElementMention[] - ); + const mentionTokens = tokens + .filter(t => t.type == 'mention') as TextElementMention[]; - const mentionedUsers = unique( + let mentionedUsers = erase(null, await Promise.all(mentionTokens.map(async m => { try { return await resolveUser(m.username, m.host); } catch (e) { return null; } - }))) + }))); + + // Drop duplicate users + mentionedUsers = mentionedUsers.filter((u, i, self) => + i === self.findIndex(u2 => u._id.equals(u2._id)) ); return mentionedUsers; -- cgit v1.2.3-freya