summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-07-21 11:06:01 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-07-21 11:06:01 +0900
commitedf2503ee51cdca923805d68813f99e7b1ea1f75 (patch)
tree90fb55ab8f9187821a66512bf959bcaa1aea8ece /src
parentFix #1901 (diff)
downloadsharkey-edf2503ee51cdca923805d68813f99e7b1ea1f75.tar.gz
sharkey-edf2503ee51cdca923805d68813f99e7b1ea1f75.tar.bz2
sharkey-edf2503ee51cdca923805d68813f99e7b1ea1f75.zip
:100:
Diffstat (limited to 'src')
-rw-r--r--src/services/note/create.ts24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/services/note/create.ts b/src/services/note/create.ts
index 2d4699f8ac..03ca908297 100644
--- a/src/services/note/create.ts
+++ b/src/services/note/create.ts
@@ -495,18 +495,20 @@ function incNotesCount(user: IUser) {
async function extractMentionedUsers(tokens: ReturnType<typeof parse>): Promise<IUser[]> {
if (tokens == null) return [];
- // TODO: Drop dupulicates
- const mentionTokens = tokens
- .filter(t => t.type == 'mention') as TextElementMention[];
+ const mentionTokens = [...new Set(
+ tokens
+ .filter(t => t.type == 'mention') as TextElementMention[]
+ )];
- // TODO: Drop dupulicates
- const mentionedUsers = (await Promise.all(mentionTokens.map(async m => {
- try {
- return await resolveUser(m.username, m.host);
- } catch (e) {
- return null;
- }
- }))).filter(x => x != null);
+ const mentionedUsers = [...new Set(
+ (await Promise.all(mentionTokens.map(async m => {
+ try {
+ return await resolveUser(m.username, m.host);
+ } catch (e) {
+ return null;
+ }
+ }))).filter(x => x != null)
+ )];
return mentionedUsers;
}