From 7ee6a09cf2428f7074d05eb53b42d1559c92f3fc Mon Sep 17 00:00:00 2001 From: Johann150 Date: Mon, 21 Nov 2022 19:43:56 +0100 Subject: [PATCH] fix errors from quote string removal The parse5 tree does not have the full DOM methods and attributes. --- packages/backend/src/mfm/from-html.ts | 3 ++- packages/backend/src/remote/activitypub/models/note.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/backend/src/mfm/from-html.ts b/packages/backend/src/mfm/from-html.ts index a2433af6e..6e468635b 100644 --- a/packages/backend/src/mfm/from-html.ts +++ b/packages/backend/src/mfm/from-html.ts @@ -204,7 +204,8 @@ export function fromHtml(html: string, hashtagNames?: string[], quoteUri?: strin case 'span': { - if (node.classList.contains('quote-inline') && quoteUri && getText(node).trim() === `RE: ${quoteUri}`) { + const nodeClass = node.attrs.find(({ name }) => name === 'class'); + if (/\bquote-inline\b/.test(nodeClass) && quoteUri && getText(node).trim() === `RE: ${quoteUri}`) { // embedded quote thingy for backwards compatibility, don't show it } else { appendChildren(node.childNodes); diff --git a/packages/backend/src/remote/activitypub/models/note.ts b/packages/backend/src/remote/activitypub/models/note.ts index 0dc7d477d..c63684809 100644 --- a/packages/backend/src/remote/activitypub/models/note.ts +++ b/packages/backend/src/remote/activitypub/models/note.ts @@ -201,7 +201,7 @@ export async function createNote(value: string | IObject, resolver?: Resolver = } else if (typeof note._misskey_content !== 'undefined') { text = note._misskey_content; } else if (typeof note.content === 'string') { - text = htmlToMfm(note.content, note.tag, quote.uri); + text = htmlToMfm(note.content, note.tag, quote?.uri); } // vote