From 27d8a217c931935b55702ca6d6e8615fe9cb3aca Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 7 Jan 2026 18:43:32 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20Bolt:=20Parallelize=20DB=20queries?= =?UTF-8?q?=20in=20Issues=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Parallelizes `allMachines` and `issuesList` queries in `src/app/(app)/issues/page.tsx` using `Promise.all` to reduce server response time. --- src/app/(app)/issues/page.tsx | 54 ++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/src/app/(app)/issues/page.tsx b/src/app/(app)/issues/page.tsx index c546dbbf..4011ff47 100644 --- a/src/app/(app)/issues/page.tsx +++ b/src/app/(app)/issues/page.tsx @@ -38,12 +38,6 @@ export default async function IssuesPage({ const params = await searchParams; const { status, severity, priority, machine } = params; - // Fetch machines for filter dropdown - const allMachines = await db.query.machines.findMany({ - orderBy: (machines, { asc }) => [asc(machines.name)], - columns: { initials: true, name: true }, - }); - // Safe type casting for filters // Default to Open issues (new + in_progress) if no status is specified // If status is 'resolved', show resolved issues @@ -69,28 +63,36 @@ export default async function IssuesPage({ ? (priority as "low" | "medium" | "high" | "critical") : undefined; - // Fetch Issues based on filters - const issuesList = await db.query.issues.findMany({ - where: and( - inArray( - issues.status, - statusFilter as ("new" | "in_progress" | "resolved")[] + // Execute independent queries in parallel + const [allMachines, issuesList] = await Promise.all([ + // Fetch machines for filter dropdown + db.query.machines.findMany({ + orderBy: (machines, { asc }) => [asc(machines.name)], + columns: { initials: true, name: true }, + }), + // Fetch Issues based on filters + db.query.issues.findMany({ + where: and( + inArray( + issues.status, + statusFilter as ("new" | "in_progress" | "resolved")[] + ), + severityFilter ? eq(issues.severity, severityFilter) : undefined, + priorityFilter ? eq(issues.priority, priorityFilter) : undefined, + machine ? eq(issues.machineInitials, machine) : undefined ), - severityFilter ? eq(issues.severity, severityFilter) : undefined, - priorityFilter ? eq(issues.priority, priorityFilter) : undefined, - machine ? eq(issues.machineInitials, machine) : undefined - ), - orderBy: desc(issues.createdAt), - with: { - machine: { - columns: { name: true }, - }, - reportedByUser: { - columns: { name: true }, + orderBy: desc(issues.createdAt), + with: { + machine: { + columns: { name: true }, + }, + reportedByUser: { + columns: { name: true }, + }, }, - }, - limit: 100, // Reasonable limit for now - }); + limit: 100, // Reasonable limit for now + }), + ]); return (