From 92eeeadec07915af9dbf0182346a2f4f0744cef7 Mon Sep 17 00:00:00 2001 From: "alexei.dolgolyov" Date: Wed, 25 Mar 2026 15:36:06 +0300 Subject: [PATCH] perf: batch-load app history to eliminate N+1 fetches on board load Previously each AppWidget fetched /api/apps/{id}/history individually on mount, causing N sequential HTTP requests. Now the board page server load fetches all app histories in a single Prisma query via getBatchStatusHistory() and passes them to AppWidget via Svelte context. AppWidget uses the pre-loaded data immediately with a fallback fetch for non-board contexts. --- src/lib/components/widget/AppWidget.svelte | 14 ++++++--- src/lib/server/services/appService.ts | 32 +++++++++++++++++++++ src/routes/boards/[boardId]/+page.server.ts | 21 +++++++++++++- src/routes/boards/[boardId]/+page.svelte | 4 +++ 4 files changed, 66 insertions(+), 5 deletions(-) diff --git a/src/lib/components/widget/AppWidget.svelte b/src/lib/components/widget/AppWidget.svelte index 149b5ee..158bc47 100644 --- a/src/lib/components/widget/AppWidget.svelte +++ b/src/lib/components/widget/AppWidget.svelte @@ -1,5 +1,5 @@