summaryrefslogtreecommitdiff
path: root/src/remote
diff options
context:
space:
mode:
Diffstat (limited to 'src/remote')
-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;