From d332032e53f888000f10ddc83873224ed27d4e12 Mon Sep 17 00:00:00 2001 From: Truman Gao <106889354+tdgao@users.noreply.github.com> Date: Wed, 31 Dec 2025 03:03:40 -0800 Subject: [PATCH] fix large projects list query with fetch segmented (#5004) --- apps/frontend/src/pages/collection/[id].vue | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/frontend/src/pages/collection/[id].vue b/apps/frontend/src/pages/collection/[id].vue index 68c2a910..9a6d343a 100644 --- a/apps/frontend/src/pages/collection/[id].vue +++ b/apps/frontend/src/pages/collection/[id].vue @@ -404,6 +404,7 @@ import dayjs from 'dayjs' import AdPlaceholder from '~/components/ui/AdPlaceholder.vue' import NavTabs from '~/components/ui/NavTabs.vue' import ProjectCard from '~/components/ui/ProjectCard.vue' +import { asEncodedJsonArray, fetchSegmented } from '~/utils/fetch-helpers.ts' const { handleError } = injectNotificationManager() const api = injectModrinthClient() @@ -563,11 +564,12 @@ try { await useAsyncData(`user/${collection.value.user}`, () => useBaseFetch(`user/${collection.value.user}`), ), - await useAsyncData( - `projects?ids=${encodeURIComponent(JSON.stringify(collection.value.projects))}]`, + useAsyncData( + `projects?ids=${encodeURIComponent(JSON.stringify(collection.value.projects))}`, () => - useBaseFetch( - `projects?ids=${encodeURIComponent(JSON.stringify(collection.value.projects))}`, + fetchSegmented( + collection.value.projects, + (ids) => `projects?ids=${asEncodedJsonArray(ids)}`, ), { transform: (projects) => {