From c1168189d23fdb07f8436de655c1e2ec71a9ebe9 Mon Sep 17 00:00:00 2001 From: Jared Pereira Date: Fri, 23 Jan 2026 16:02:24 -0500 Subject: [PATCH] add standard.site validation --- .../site.standard.publication/route.ts | 34 +++++++++++++++++++ app/p/[didOrHandle]/[rkey]/page.tsx | 11 +++--- 2 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 app/lish/[did]/[publication]/.well-known/site.standard.publication/route.ts diff --git a/app/lish/[did]/[publication]/.well-known/site.standard.publication/route.ts b/app/lish/[did]/[publication]/.well-known/site.standard.publication/route.ts new file mode 100644 index 00000000..70b980bd --- /dev/null +++ b/app/lish/[did]/[publication]/.well-known/site.standard.publication/route.ts @@ -0,0 +1,34 @@ +import { publicationNameOrUriFilter } from "src/utils/uriHelpers"; +import { supabaseServerClient } from "supabase/serverClient"; + +export async function GET( + req: Request, + props: { + params: Promise<{ publication: string; did: string }>; + }, +) { + let params = await props.params; + let did = decodeURIComponent(params.did); + let publication_name = decodeURIComponent(params.publication); + let [{ data: publications }] = await Promise.all([ + supabaseServerClient + .from("publications") + .select( + `*, + publication_subscriptions(*), + documents_in_publications(documents( + *, + comments_on_documents(count), + document_mentions_in_bsky(count) + )) + `, + ) + .eq("identity_did", did) + .or(publicationNameOrUriFilter(did, publication_name)) + .order("uri", { ascending: false }) + .limit(1), + ]); + let publication = publications?.[0]; + if (!did || !publication) return new Response(null, { status: 404 }); + return new Response(publication.uri); +} diff --git a/app/p/[didOrHandle]/[rkey]/page.tsx b/app/p/[didOrHandle]/[rkey]/page.tsx index ea7cf8fc..000f64ba 100644 --- a/app/p/[didOrHandle]/[rkey]/page.tsx +++ b/app/p/[didOrHandle]/[rkey]/page.tsx @@ -38,10 +38,13 @@ export async function generateMetadata(props: { return { icons: { - other: { - rel: "alternate", - url: document.uri, - }, + other: [ + { + rel: "alternate", + url: document.uri, + }, + { rel: "site.standard.document", url: document.uri }, + ], }, title: docRecord.title, description: docRecord?.description || "", -- 2.51.2