diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2019-01-23 04:49:16 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-01-23 04:49:16 +0900 |
| commit | fa124abbe26abca49bd33f4eec49e691c5d029f9 (patch) | |
| tree | 19a317ed96a8c4c5ee535508a4295ef6456fb967 /src/services/note | |
| parent | Fix types (diff) | |
| download | sharkey-fa124abbe26abca49bd33f4eec49e691c5d029f9.tar.gz sharkey-fa124abbe26abca49bd33f4eec49e691c5d029f9.tar.bz2 sharkey-fa124abbe26abca49bd33f4eec49e691c5d029f9.zip | |
Supports Twemoji / CustomEmoji in poll (#3960)
* Supports Twemoji / CustomEmoji in poll
* extract emojis in polls
Diffstat (limited to 'src/services/note')
| -rw-r--r-- | src/services/note/create.ts | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/services/note/create.ts b/src/services/note/create.ts index 4b9f8215e1..d3c8699b26 100644 --- a/src/services/note/create.ts +++ b/src/services/note/create.ts @@ -1,5 +1,5 @@ import es from '../../db/elasticsearch'; -import Note, { pack, INote } from '../../models/note'; +import Note, { pack, INote, IChoice } from '../../models/note'; import User, { isLocalUser, IUser, isRemoteUser, IRemoteUser, ILocalUser } from '../../models/user'; import { publishMainStream, publishHomeTimelineStream, publishLocalTimelineStream, publishHybridTimelineStream, publishGlobalTimelineStream, publishUserListStream, publishHashtagStream } from '../../stream'; import Following from '../../models/following'; @@ -25,7 +25,7 @@ import notesChart from '../../chart/notes'; import perUserNotesChart from '../../chart/per-user-notes'; import activeUsersChart from '../../chart/active-users'; -import { erase } from '../../prelude/array'; +import { erase, concat } from '../../prelude/array'; import insertNoteUnread from './unread'; import registerInstance from '../register-instance'; import Instance from '../../models/instance'; @@ -157,7 +157,11 @@ export default async (user: IUser, data: Option, silent = false) => new Promise< if (!tags || !emojis || !mentionedUsers) { const tokens = data.text ? parse(data.text) : []; const cwTokens = data.cw ? parse(data.cw) : []; - const combinedTokens = tokens.concat(cwTokens); + const choiceTokens = data.poll && data.poll.choices + ? concat((data.poll.choices as IChoice[]).map(choice => parse(choice.text))) + : []; + + const combinedTokens = tokens.concat(cwTokens).concat(choiceTokens); tags = data.apHashtags || extractHashtags(combinedTokens); |