summaryrefslogtreecommitdiff
path: root/src/services/note
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-10-30 21:55:16 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-10-30 21:55:16 +0900
commit120474ec6a4744e111eb06fb26d1638a7fb0eb6c (patch)
tree04b0fcd7e58f2c7e87157dac8e93ceb39a8e4652 /src/services/note
parentUpdate test/api.ts (diff)
downloadsharkey-120474ec6a4744e111eb06fb26d1638a7fb0eb6c.tar.gz
sharkey-120474ec6a4744e111eb06fb26d1638a7fb0eb6c.tar.bz2
sharkey-120474ec6a4744e111eb06fb26d1638a7fb0eb6c.zip
Fix bug
Diffstat (limited to 'src/services/note')
-rw-r--r--src/services/note/create.ts14
1 files changed, 8 insertions, 6 deletions
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<typeof parse>): Promise<IUser[]> {
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;