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:
parent
8d4abd8e65
commit
2eb7cc5183
1 changed files with 8 additions and 3 deletions
|
|
@ -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,
|
||||
};
|
||||
}),
|
||||
|
|
|
|||
Loading…
Reference in a new issue