From 0581b6bdba9c736a00e09cdd4bb02c39d0cb5a67 Mon Sep 17 00:00:00 2001 From: chris lee Date: Tue, 14 Jul 2026 09:50:27 -0400 Subject: [PATCH] Make unauthorized viewers unable to see doc title --- app/d/[slug]/page.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/d/[slug]/page.tsx b/app/d/[slug]/page.tsx index 291e22d..58d50eb 100644 --- a/app/d/[slug]/page.tsx +++ b/app/d/[slug]/page.tsx @@ -38,11 +38,20 @@ type Props = { searchParams: Promise<{ [k: string]: string | string[] | undefined }>; }; -export async function generateMetadata({ params }: Props): Promise { +export async function generateMetadata({ params, searchParams }: Props): Promise { const { slug } = await params; const doc = await findBySlug(slug); - const title = doc ? (doc.title || doc.slug) : "private"; - return { title: `${title} — justhtml.sh` }; + if (doc) { + const sp = await searchParams; + const rawToken = sp.viewtoken; + const viewtoken = Array.isArray(rawToken) ? (rawToken[0] ?? null) : (rawToken ?? null); + const req = await reconstructRequest(); + const session = await getSession(req); + if (await canViewSession(doc, session, viewtoken)) { + return { title: `${doc.title || doc.slug} — justhtml.sh` }; + } + } + return { title: "justhtml.sh" }; } async function reconstructRequest(): Promise {