From 2eb7cc518366174622f797243e995bb16466a882 Mon Sep 17 00:00:00 2001 From: Arthur Belleville Date: Sun, 12 Apr 2026 16:51:02 +0200 Subject: [PATCH] fix(main): handle snake_case fields from REST API in ChatMessages The chat REST API returns raw DB rows with snake_case fields (user_id, created_at) while WS messages use camelCase. Handle both to prevent Invalid Date errors from new Date(undefined). Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/main/src/components/ChatMessages.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/main/src/components/ChatMessages.tsx b/apps/main/src/components/ChatMessages.tsx index 5272e93..173dff7 100644 --- a/apps/main/src/components/ChatMessages.tsx +++ b/apps/main/src/components/ChatMessages.tsx @@ -13,6 +13,9 @@ interface ChatMessage { createdAt: string; clientId: string; optimistic?: boolean; + // REST API returns snake_case fields from DB, WS messages use camelCase + user_id?: string; + created_at?: string; } interface Member { @@ -64,14 +67,16 @@ export function ChatMessages({ const chatMessages = useMemo( () => messages.map((msg) => { - const member = membersById.get(msg.userId); + const userId = msg.userId || msg.user_id || ""; + const createdAt = msg.createdAt || msg.created_at || ""; + const member = membersById.get(userId); return { id: msg.id, - senderId: msg.userId, + senderId: userId, senderName: member?.name ?? "Utilisateur", senderAvatar: member?.avatar_url ?? undefined, text: msg.text, - timestamp: new Date(msg.createdAt), + timestamp: new Date(createdAt), status: msg.optimistic ? "sending" : undefined, }; }),