summaryrefslogtreecommitdiff
path: root/src/remote/activitypub
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-11-01 05:46:20 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-11-01 05:46:20 +0900
commit93a889df82f005e17fce6f7e6fc7d9d7554e7719 (patch)
treeb98a791d5afbd697c3071888bff07f6db8aa0f5b /src/remote/activitypub
parent新規投稿のMFMをHTMLに変換する際、リモートユーザーへの... (diff)
downloadsharkey-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')
-rw-r--r--src/remote/activitypub/renderer/note.ts10
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;