From a95aa6201987527025c9c5d0a9892c89f40cd683 Mon Sep 17 00:00:00 2001 From: Zekbot001 <280472700+Zekbot001@users.noreply.github.com> Date: Sun, 31 May 2026 15:48:42 +0200 Subject: [PATCH 1/2] fix(feed): clamp lounge page pagination --- src/app/feed/page.tsx | 3 ++- src/lib/pagination.test.ts | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app/feed/page.tsx b/src/app/feed/page.tsx index 7dc2735f..f5b0b264 100644 --- a/src/app/feed/page.tsx +++ b/src/app/feed/page.tsx @@ -5,6 +5,7 @@ import { Header } from "@/components/layout/Header"; import { CreatePostForm } from "@/components/feed/CreatePostForm"; import { FeedSortTabs } from "@/components/feed/FeedSortTabs"; import { FeedList } from "@/components/feed/FeedList"; +import { parsePageParam } from "@/lib/pagination"; import type { Metadata } from "next"; export const metadata: Metadata = { @@ -24,7 +25,7 @@ async function FeedContent({ searchParams }: FeedPageProps) { const resolvedParams = await searchParams; const sort = resolvedParams.sort || "hot"; const tag = resolvedParams.tag || undefined; - const page = Number(resolvedParams.page) || 1; + const page = parsePageParam(resolvedParams.page); const supabase = await createClient(); diff --git a/src/lib/pagination.test.ts b/src/lib/pagination.test.ts index a4aae4a7..a651ee85 100644 --- a/src/lib/pagination.test.ts +++ b/src/lib/pagination.test.ts @@ -12,6 +12,7 @@ describe("parsePageParam", () => { expect(parsePageParam("-1")).toBe(1); expect(parsePageParam("0")).toBe(1); expect(parsePageParam("abc")).toBe(1); + expect(parsePageParam("Infinity")).toBe(1); }); it("truncates fractional page values", () => { From 4c35c1807334845f4902b1147f152ec4d8b5af4b Mon Sep 17 00:00:00 2001 From: Zekbot001 <280472700+Zekbot001@users.noreply.github.com> Date: Sun, 31 May 2026 15:53:55 +0200 Subject: [PATCH 2/2] test(feed): cover negative infinity page values --- src/lib/pagination.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/pagination.test.ts b/src/lib/pagination.test.ts index a651ee85..5c30c846 100644 --- a/src/lib/pagination.test.ts +++ b/src/lib/pagination.test.ts @@ -13,6 +13,7 @@ describe("parsePageParam", () => { expect(parsePageParam("0")).toBe(1); expect(parsePageParam("abc")).toBe(1); expect(parsePageParam("Infinity")).toBe(1); + expect(parsePageParam("-Infinity")).toBe(1); }); it("truncates fractional page values", () => {