summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/backend/src/core/activitypub/ApMfmService.ts2
-rw-r--r--packages/backend/src/core/activitypub/ApRendererService.ts23
2 files changed, 11 insertions, 14 deletions
diff --git a/packages/backend/src/core/activitypub/ApMfmService.ts b/packages/backend/src/core/activitypub/ApMfmService.ts
index 0716e43123..88f0da281f 100644
--- a/packages/backend/src/core/activitypub/ApMfmService.ts
+++ b/packages/backend/src/core/activitypub/ApMfmService.ts
@@ -35,7 +35,7 @@ export class ApMfmService {
noMisskeyContent = true;
}
- const content = this.mfmService.toHtml(parsed, JSON.parse(note.mentionedRemoteUsers));
+ const content = this.mfmService.toHtml(parsed, note.mentionedRemoteUsers ? JSON.parse(note.mentionedRemoteUsers) : []);
return {
content,
diff --git a/packages/backend/src/core/activitypub/ApRendererService.ts b/packages/backend/src/core/activitypub/ApRendererService.ts
index e07bb8be78..f9376624db 100644
--- a/packages/backend/src/core/activitypub/ApRendererService.ts
+++ b/packages/backend/src/core/activitypub/ApRendererService.ts
@@ -700,17 +700,15 @@ export class ApRendererService {
poll = await this.pollsRepository.findOneBy({ noteId: note.id });
}
- let apText = text;
+ let apAppend = '';
if (quote) {
- apText += `\n\nRE: ${quote}`;
+ apAppend += `\n\nRE: ${quote}`;
}
const summary = note.cw === '' ? String.fromCharCode(0x200B) : note.cw;
- const content = this.apMfmService.getNoteHtml(Object.assign({}, note, {
- text: apText,
- }));
+ const { content, noMisskeyContent } = this.apMfmService.getNoteHtml(note, apAppend);
const emojis = await this.getEmojis(note.emojis);
const apemojis = emojis.filter(emoji => !emoji.localOnly).map(emoji => this.renderEmoji(emoji));
@@ -723,9 +721,6 @@ export class ApRendererService {
const asPoll = poll ? {
type: 'Question',
- content: this.apMfmService.getNoteHtml(Object.assign({}, note, {
- text: text,
- })),
[poll.expiresAt && poll.expiresAt < new Date() ? 'closed' : 'endTime']: poll.expiresAt,
[poll.multiple ? 'anyOf' : 'oneOf']: poll.choices.map((text, i) => ({
type: 'Note',
@@ -744,11 +739,13 @@ export class ApRendererService {
summary: summary ?? undefined,
content: content ?? undefined,
updated: note.updatedAt?.toISOString(),
- _misskey_content: text,
- source: {
- content: text,
- mediaType: 'text/x.misskeymarkdown',
- },
+ ...(noMisskeyContent ? {} : {
+ _misskey_content: text,
+ source: {
+ content: text,
+ mediaType: 'text/x.misskeymarkdown',
+ },
+ }),
_misskey_quote: quote,
quoteUrl: quote,
quoteUri: quote,