diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2019-11-01 05:46:20 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-11-01 05:46:20 +0900 |
| commit | 93a889df82f005e17fce6f7e6fc7d9d7554e7719 (patch) | |
| tree | b98a791d5afbd697c3071888bff07f6db8aa0f5b /src/remote/activitypub/renderer | |
| parent | 新規投稿のMFMをHTMLに変換する際、リモートユーザーへの... (diff) | |
| download | sharkey-93a889df82f005e17fce6f7e6fc7d9d7554e7719.tar.gz sharkey-93a889df82f005e17fce6f7e6fc7d9d7554e7719.tar.bz2 sharkey-93a889df82f005e17fce6f7e6fc7d9d7554e7719.zip | |
Preserve the attached order in AP (#5561)
* Preserve the attached order in AP
* Revert "Preserve the attached order in AP"
This reverts commit 8ac09cc81b1c216edccd2eba4bbdf0a194320883.
* use IN
Diffstat (limited to 'src/remote/activitypub/renderer')
| -rw-r--r-- | src/remote/activitypub/renderer/note.ts | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/remote/activitypub/renderer/note.ts b/src/remote/activitypub/renderer/note.ts index d58e1de433..31d67edba5 100644 --- a/src/remote/activitypub/renderer/note.ts +++ b/src/remote/activitypub/renderer/note.ts @@ -13,9 +13,11 @@ import { Poll } from '../../../models/entities/poll'; import { ensure } from '../../../prelude/ensure'; export default async function renderNote(note: Note, dive = true, isTalk = false): Promise<any> { - const promisedFiles: Promise<DriveFile[]> = note.fileIds.length > 0 - ? DriveFiles.find({ id: In(note.fileIds) }) - : Promise.resolve([]); + const getPromisedFiles = async (ids: string[]) => { + if (!ids || ids.length === 0) return []; + const items = await DriveFiles.find({ id: In(ids) }); + return ids.map(id => items.find(item => item.id === id)).filter(item => item != null) as DriveFile[]; + }; let inReplyTo; let inReplyToNote: Note | undefined; @@ -81,7 +83,7 @@ export default async function renderNote(note: Note, dive = true, isTalk = false const hashtagTags = (note.tags || []).map(tag => renderHashtag(tag)); const mentionTags = mentionedUsers.map(u => renderMention(u)); - const files = await promisedFiles; + const files = await getPromisedFiles(note.fileIds); let text = note.text; let poll: Poll | undefined; |