From 5de7366ff0799e6ad83d036e97db003f2076c132 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 21 May 2024 21:22:25 -0500 Subject: [PATCH] Add r-tags to statuses --- src/controllers/api/statuses.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/controllers/api/statuses.ts b/src/controllers/api/statuses.ts index 58526cbe..7b21c2d5 100644 --- a/src/controllers/api/statuses.ts +++ b/src/controllers/api/statuses.ts @@ -1,5 +1,6 @@ import { NostrEvent, NSchema as n } from '@nostrify/nostrify'; import ISO6391 from 'iso-639-1'; +import linkify from 'linkifyjs'; import { nip19 } from 'nostr-tools'; import { z } from 'zod'; @@ -144,6 +145,12 @@ const createStatusController: AppController = async (c) => { tags.push(['t', match[1]]); } + for (const link of linkify.find(data.status ?? '')) { + if (link.type === 'url' && link.href.startsWith('https://')) { + tags.push(['r', link.href]); + } + } + const mediaUrls: string[] = media .map(({ data }) => data.find(([name]) => name === 'url')?.[1]) .filter((url): url is string => Boolean(url));