import { apiBase, forwardedClientHeaders } from '@/lib/api' import { headers } from 'next/headers' import { notFound } from 'next/navigation' import { PublicBookmarkView } from './client' export default async function PublicSharePage({ params }: { params: Promise<{ id: string }> }) { const { id } = await params // Review H-2: pass the attested browser identity through to Go. Without it // every server-rendered share view shares the web container's public // rate-limit bucket, so one hot link (or one client) could exhaust it. const response = await fetch(`${apiBase()}/api/public/bookmarks/${encodeURIComponent(id)}`, { cache: 'no-store', headers: forwardedClientHeaders(await headers()), signal: AbortSignal.timeout(10_000), }) if (!response.ok) notFound() const bookmark = await response.json() return }