From 33f9227f644f5d4daa66c2b1e823df36a87ed78f Mon Sep 17 00:00:00 2001 From: MertenD Date: Sat, 30 May 2026 18:05:56 +0200 Subject: [PATCH] Refactor session data mapping to use flatMap for improved handling of empty events --- app/admin/page.tsx | 7 ++++--- package.json | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/admin/page.tsx b/app/admin/page.tsx index 50b3002..0e37042 100644 --- a/app/admin/page.tsx +++ b/app/admin/page.tsx @@ -92,11 +92,12 @@ export default async function AdminPage({ } } - const sessionData = [...sessionMap.values()].map((s) => { + const sessionData = [...sessionMap.values()].flatMap((s) => { const allTimes = [ ...s.events.map((e) => e.createdAt.getTime()), ...s.chatMessages.map((m) => m.createdAt.getTime()), ] + if (!allTimes.length) return [] const firstSeen = new Date(Math.min(...allTimes)).toISOString() const lastSeen = new Date(Math.max(...allTimes)).toISOString() @@ -119,7 +120,7 @@ export default async function AdminPage({ })), ].sort((a, b) => a.createdAt.localeCompare(b.createdAt)) - return { + return [{ summary: { sessionId: s.sessionId, firstSeen, @@ -128,7 +129,7 @@ export default async function AdminPage({ chatMessageCount: s.chatMessages.length, }, timeline, - } + }] }).sort((a, b) => b.summary.lastSeen.localeCompare(a.summary.lastSeen)) // Serialize dates for client diff --git a/package.json b/package.json index ef20481..74af1b0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "portfolio", - "version": "0.5.0", + "version": "0.5.1", "private": true, "scripts": { "dev": "next dev",