fix: cover duplicated block
This commit is contained in:
parent
ccdf069cdd
commit
5518c2b7d4
|
@ -214,15 +214,7 @@ export class ApNoteService {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添付ファイル
|
// 添付ファイル
|
||||||
// TODO: attachmentは必ずしもImageではない
|
const files = await this.getNoteFiles(note, actor);
|
||||||
// TODO: attachmentは必ずしも配列ではない
|
|
||||||
const limit = promiseLimit<MiDriveFile>(2);
|
|
||||||
const files = (await Promise.all(toArray(note.attachment).map(attach => (
|
|
||||||
limit(() => this.apImageService.resolveImage(actor, {
|
|
||||||
...attach,
|
|
||||||
sensitive: note.sensitive, // Noteがsensitiveなら添付もsensitiveにする
|
|
||||||
}))
|
|
||||||
))));
|
|
||||||
|
|
||||||
// リプライ
|
// リプライ
|
||||||
const reply: MiNote | null = note.inReplyTo
|
const reply: MiNote | null = note.inReplyTo
|
||||||
|
@ -441,21 +433,7 @@ export class ApNoteService {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添付ファイル
|
// 添付ファイル
|
||||||
const attachments = toArray(note.attachment);
|
const files = await this.getNoteFiles(note, actor);
|
||||||
if (note.image)
|
|
||||||
for (const image of toArray(note.image))
|
|
||||||
attachments.push(image);
|
|
||||||
|
|
||||||
const limit = promiseLimit<MiDriveFile>(2);
|
|
||||||
const filePromises = attachments
|
|
||||||
.filter(attach => typeof(attach.url) === 'string')
|
|
||||||
.map(attach => (
|
|
||||||
limit(() => this.apImageService.resolveImage(actor, {
|
|
||||||
...attach,
|
|
||||||
sensitive: note.sensitive, // Noteがsensitiveなら添付もsensitiveにする
|
|
||||||
}))
|
|
||||||
));
|
|
||||||
const files = await Promise.all(filePromises);
|
|
||||||
|
|
||||||
// リプライ
|
// リプライ
|
||||||
const reply: MiNote | null = note.inReplyTo
|
const reply: MiNote | null = note.inReplyTo
|
||||||
|
@ -566,6 +544,28 @@ export class ApNoteService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Downloads all attachments from the note.
|
||||||
|
*/
|
||||||
|
private async getNoteFiles(note: IPost, actor: MiRemoteUser): Promise<MiDriveFile[]> {
|
||||||
|
const attachments = toArray(note.attachment);
|
||||||
|
if (note.image)
|
||||||
|
for (const image of toArray(note.image))
|
||||||
|
attachments.push(image);
|
||||||
|
|
||||||
|
const limit = promiseLimit<MiDriveFile>(2);
|
||||||
|
const filePromises = attachments
|
||||||
|
.filter(attach => typeof (attach.url) === 'string')
|
||||||
|
.map(attach => (
|
||||||
|
limit(() => this.apImageService.resolveImage(actor, {
|
||||||
|
...attach,
|
||||||
|
sensitive: note.sensitive, // Noteがsensitiveなら添付もsensitiveにする
|
||||||
|
}))
|
||||||
|
));
|
||||||
|
|
||||||
|
return await Promise.all(filePromises);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Noteを解決します。
|
* Noteを解決します。
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue