From f3b6401a358a991ad05cd92cd3bedb643898c428 Mon Sep 17 00:00:00 2001 From: Rishabh Date: Thu, 14 May 2026 11:00:03 +0530 Subject: [PATCH] fix: encode slug segments in api/page URL Slugs containing & were breaking the query string. Now each segment is encoded with encodeURIComponent before joining. Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/chronicle/src/lib/page-context.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/chronicle/src/lib/page-context.tsx b/packages/chronicle/src/lib/page-context.tsx index e075974e..74d33bb6 100644 --- a/packages/chronicle/src/lib/page-context.tsx +++ b/packages/chronicle/src/lib/page-context.tsx @@ -116,7 +116,7 @@ export function PageProvider({ const fetchPageData = useCallback(async (slug: string[]): Promise => { const apiPath = slug.length === 0 ? '/api/page' - : `/api/page?slug=${slug.join(',')}`; + : `/api/page?slug=${slug.map(s => encodeURIComponent(s)).join(',')}`; const res = await fetch(apiPath); if (!res.ok) throw new Error(String(res.status)); return res.json();