From e598544219c76d4d13db6d5828e7f67fd79d6985 Mon Sep 17 00:00:00 2001 From: Kyle Gach Date: Thu, 26 Mar 2026 15:23:21 -0600 Subject: [PATCH 1/3] SSG all tag pages instead of categories only --- apps/addon-catalog/app/(home)/tag/[...name]/page.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx b/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx index 94dc5c29..6f37d8ea 100644 --- a/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx +++ b/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx @@ -34,6 +34,11 @@ const getCachedTagFromName = unstable_cache( ['tag-details'], ); +const getCachedTags = unstable_cache( + async () => fetchTagsData(), + ['tags'], +); + const getCachedCategoryTags = unstable_cache( async () => fetchTagsData({ isCategory: true }), ['category-tags'], @@ -89,7 +94,7 @@ export default async function TagDetails({ } export async function generateStaticParams() { - const tags = (await getCachedCategoryTags()) || []; + const tags = (await getCachedTags()) || []; const listOfNames = tags.map((tag) => ({ name: [...tag.split('/')] })); if (listOfNames.length === 0) { From 1a54e70d2f870e9ba2745c474f245ffdb1d2e2ec Mon Sep 17 00:00:00 2001 From: Michael Shilman Date: Fri, 27 Mar 2026 14:36:22 +0800 Subject: [PATCH 2/3] Prerender the first 300 tag pages --- apps/addon-catalog/app/(home)/tag/[...name]/page.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx b/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx index 6f37d8ea..c353dd55 100644 --- a/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx +++ b/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx @@ -35,7 +35,10 @@ const getCachedTagFromName = unstable_cache( ); const getCachedTags = unstable_cache( - async () => fetchTagsData(), + async () => [ + ...(await fetchTagsData({ isCategory: true })), + ...(await fetchTagsData()).slice(0, 300), + ], ['tags'], ); @@ -47,7 +50,7 @@ const getCachedCategoryTags = unstable_cache( export const generateMetadata: GenerateMetaData = async ({ params }) => { const tagName = (await params).name.join('/'); const data = await getCachedTagFromName([tagName]); - const categoryTags = await getCachedCategoryTags() || []; + const categoryTags = (await getCachedCategoryTags()) || []; const isCategoryTag = categoryTags.includes(tagName); From 5774b8f511f7171d6eb1e5668407bd12e4b356cd Mon Sep 17 00:00:00 2001 From: Michael Shilman Date: Fri, 27 Mar 2026 14:43:18 +0800 Subject: [PATCH 3/3] Limit to 100 + categories --- apps/addon-catalog/app/(home)/tag/[...name]/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx b/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx index c353dd55..d1a1cc43 100644 --- a/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx +++ b/apps/addon-catalog/app/(home)/tag/[...name]/page.tsx @@ -37,7 +37,7 @@ const getCachedTagFromName = unstable_cache( const getCachedTags = unstable_cache( async () => [ ...(await fetchTagsData({ isCategory: true })), - ...(await fetchTagsData()).slice(0, 300), + ...(await fetchTagsData()).slice(0, 100), ], ['tags'], );