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) <noreply@anthropic.com>
This commit is contained in:
Arthur Belleville 2026-04-12 16:51:02 +02:00
parent 8d4abd8e65
commit 2eb7cc5183
No known key found for this signature in database

View file

@ -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<ChatMessageData[]>(
() =>
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,
};
}),