From 3510aee9f213f4b83793d549c60c78d6a3789d2f Mon Sep 17 00:00:00 2001 From: nicoalbanese <49612682+nicoalbanese@users.noreply.github.com> Date: Sat, 11 Apr 2026 09:26:16 +0000 Subject: [PATCH 1/2] refactor: configure metadataBase from env variables --- apps/web/app/[username]/page.tsx | 17 +++-------------- apps/web/app/layout.tsx | 6 ++++++ bun.lock | 1 + 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/apps/web/app/[username]/page.tsx b/apps/web/app/[username]/page.tsx index e2d9ae66e..b893cb894 100644 --- a/apps/web/app/[username]/page.tsx +++ b/apps/web/app/[username]/page.tsx @@ -1,7 +1,6 @@ import type { Metadata } from "next"; import Link from "next/link"; import Image from "next/image"; -import { headers } from "next/headers"; import { notFound } from "next/navigation"; import { formatTokens } from "@open-harness/shared/lib/tool-state"; import { ContributionChart } from "@/components/contribution-chart"; @@ -41,16 +40,6 @@ function formatCompactNumber(value: number): string { return value.toLocaleString(); } -async function getBaseUrl(): Promise { - const headerStore = await headers(); - const host = - headerStore.get("x-forwarded-host") ?? - headerStore.get("host") ?? - "open-agents.dev"; - const protocol = headerStore.get("x-forwarded-proto") ?? "https"; - return `${protocol}://${host}`; -} - export async function generateMetadata({ params, searchParams, @@ -74,7 +63,6 @@ export async function generateMetadata({ ? `?date=${encodeURIComponent(profile.dateSelection.value)}` : ""; const publicProfilePath = `/u/${profile.user.username}`; - const baseUrl = await getBaseUrl(); return { title: `${displayName} · Open Agents Wrapped`, @@ -83,13 +71,13 @@ export async function generateMetadata({ openGraph: { title: `${displayName} · Open Agents Wrapped`, description: `${formatCompactNumber(profile.totals.totalTokens)} tokens · ${profile.dateSelection.label}`, - images: [`${baseUrl}${publicProfilePath}/og${dateQuery}`], + images: [`${publicProfilePath}/og${dateQuery}`], }, twitter: { card: "summary_large_image", title: `${displayName} · Open Agents Wrapped`, description: `${formatCompactNumber(profile.totals.totalTokens)} tokens · ${profile.dateSelection.label}`, - images: [`${baseUrl}${publicProfilePath}/og${dateQuery}`], + images: [`${publicProfilePath}/og${dateQuery}`], }, }; } @@ -230,6 +218,7 @@ export default async function PublicUsagePage({ Date: Sat, 11 Apr 2026 10:07:40 +0000 Subject: [PATCH 2/2] feat: add loading skeleton for username route --- apps/web/app/[username]/loading.tsx | 125 ++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 apps/web/app/[username]/loading.tsx diff --git a/apps/web/app/[username]/loading.tsx b/apps/web/app/[username]/loading.tsx new file mode 100644 index 000000000..76cf52515 --- /dev/null +++ b/apps/web/app/[username]/loading.tsx @@ -0,0 +1,125 @@ +import { Loader2 } from "lucide-react"; + +const PRESET_WIDTHS = ["w-16", "w-10", "w-10", "w-10"]; +const LIST_ROW_WIDTHS = ["w-24", "w-20", "w-28", "w-16", "w-24"]; +const GRID_COLUMNS = Array.from({ length: 26 }); +const GRID_ROWS = Array.from({ length: 7 }); + +function ShimmerBlock({ className }: { className: string }) { + return ( +