diff --git a/src/remote/activitypub/renderer/note.ts b/src/remote/activitypub/renderer/note.ts index 3ed6a6e16..b3ce1c03e 100644 --- a/src/remote/activitypub/renderer/note.ts +++ b/src/remote/activitypub/renderer/note.ts @@ -82,34 +82,38 @@ export default async function renderNote(note: INote, dive = true): Promise const files = await promisedFiles; + let text = note.text; + if (note.poll != null) { - if (note.text == null) note.text = ''; + if (text == null) text = ''; const url = `${config.url}/notes/${note._id}`; // TODO: i18n - note.text += `\n\n[投票を見る](${url})`; + text += `\n\n[投票を見る](${url})`; } if (note.renoteId != null) { - if (note.text == null) note.text = ''; + if (text == null) text = ''; const url = `${config.url}/notes/${note.renoteId}`; - note.text += `\n\nRE: ${url}`; + text += `\n\nRE: ${url}`; } // 省略されたメンションのホストを復元する - const text = note.text ? parseMfm(note.text).map(x => { - if (x.type == 'mention' && x.host == null) { - return `${x.content}@${config.host}`; - } else { - return x.content; - } - }).join('') : null; + if (text != null) { + text = parseMfm(text).map(x => { + if (x.type == 'mention' && x.host == null) { + return `${x.content}@${config.host}`; + } else { + return x.content; + } + }).join(''); + } return { id: `${config.url}/notes/${note._id}`, type: 'Note', attributedTo, summary: note.cw, - content: toHtml(note), + content: toHtml(Object.assign({}, note, { text })), _misskey_content: text, published: note.createdAt.toISOString(), to,