From 8d4f78ecaf523ebcf7e9b043b1d9fb469f6e5d4e Mon Sep 17 00:00:00 2001 From: Priyanshubhartistm Date: Wed, 8 Apr 2026 17:49:36 +0530 Subject: [PATCH 1/3] feat(links): detect invite links in previews --- src/app/components/ContentLinkBlock.svelte | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/app/components/ContentLinkBlock.svelte b/src/app/components/ContentLinkBlock.svelte index ec981015..f82e2b73 100644 --- a/src/app/components/ContentLinkBlock.svelte +++ b/src/app/components/ContentLinkBlock.svelte @@ -6,7 +6,13 @@ import ContentLinkDetail from "@app/components/ContentLinkDetail.svelte" import ContentLinkBlockImage from "@app/components/ContentLinkBlockImage.svelte" import {pushModal} from "@app/util/modal" - import {dufflepud, PLATFORM_URL, IMAGE_CONTENT_TYPES, VIDEO_CONTENT_TYPES} from "@app/core/state" + import { + dufflepud, + PLATFORM_URL, + IMAGE_CONTENT_TYPES, + VIDEO_CONTENT_TYPES, + parseInviteLink, + } from "@app/core/state" import {makeSpacePath} from "@app/util/routes" const {value, event} = $props() @@ -14,6 +20,7 @@ let hideImage = $state(false) const url = value.url.toString() + const inviteData = parseInviteLink(url) const fileType = getTagValue("file-type", event.tags) || "" const [href, external] = call(() => { if (isRelayUrl(url)) return [makeSpacePath(url), false] @@ -49,6 +56,10 @@ + {:else if inviteData} +
+ {displayUrl(inviteData.url)} +
{:else} {#await loadPreview()}
-- 2.52.0 From f777e26d3304af6cc048edc6aa9fc31106c34787 Mon Sep 17 00:00:00 2001 From: Priyanshubhartistm Date: Wed, 8 Apr 2026 17:50:48 +0530 Subject: [PATCH 2/3] feat(links): render relay summary for invite previews --- src/app/components/ContentLinkBlock.svelte | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/components/ContentLinkBlock.svelte b/src/app/components/ContentLinkBlock.svelte index f82e2b73..d5d5ac04 100644 --- a/src/app/components/ContentLinkBlock.svelte +++ b/src/app/components/ContentLinkBlock.svelte @@ -5,6 +5,7 @@ import Link from "@lib/components/Link.svelte" import ContentLinkDetail from "@app/components/ContentLinkDetail.svelte" import ContentLinkBlockImage from "@app/components/ContentLinkBlockImage.svelte" + import RelaySummary from "@app/components/RelaySummary.svelte" import {pushModal} from "@app/util/modal" import { dufflepud, @@ -57,8 +58,8 @@ {:else if inviteData} -
- {displayUrl(inviteData.url)} +
+
{:else} {#await loadPreview()} -- 2.52.0 From 84dbe0cfe235725449862a34d889549f3b628a13 Mon Sep 17 00:00:00 2001 From: Priyanshubhartistm Date: Wed, 8 Apr 2026 17:52:28 +0530 Subject: [PATCH 3/3] feat(ui): polish invite preview card copy --- src/app/components/ContentLinkBlock.svelte | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/components/ContentLinkBlock.svelte b/src/app/components/ContentLinkBlock.svelte index d5d5ac04..8b70d5ba 100644 --- a/src/app/components/ContentLinkBlock.svelte +++ b/src/app/components/ContentLinkBlock.svelte @@ -58,7 +58,8 @@ {:else if inviteData} -
+
+

Invitation to join a space:

{:else} -- 2.52.0