diff --git a/src/controllers/api/statuses.ts b/src/controllers/api/statuses.ts index 0e4bd3a0..49682dca 100644 --- a/src/controllers/api/statuses.ts +++ b/src/controllers/api/statuses.ts @@ -155,7 +155,7 @@ const createStatusController: AppController = async (c) => { .map(({ data }) => data.find(([name]) => name === 'url')?.[1]) .filter((url): url is string => Boolean(url)); - const quoteCompat = data.quote_id ? `\n\n${nip19.noteEncode(data.quote_id)}` : ''; + const quoteCompat = data.quote_id ? `\n\nnostr:${nip19.noteEncode(data.quote_id)}` : ''; const mediaCompat: string = mediaUrls.length ? ['', '', ...mediaUrls].join('\n') : ''; const event = await createEvent({ diff --git a/src/utils/note.ts b/src/utils/note.ts index 0d1e3b20..c10e3e9f 100644 --- a/src/utils/note.ts +++ b/src/utils/note.ts @@ -46,7 +46,7 @@ interface ParsedNoteContent { /** Convert Nostr content to Mastodon API HTML. Also return parsed data. */ function parseNoteContent(content: string): ParsedNoteContent { // Parsing twice is ineffecient, but I don't know how to do only once. - const html = linkifyStr(content, linkifyOpts); + const html = linkifyStr(content, linkifyOpts).replace(/\n+$/, ''); const links = linkify.find(content).filter(isLinkURL); const firstUrl = links.find(isNonMediaLink)?.href;