From 8a4024f619273cf2573c63a3b0ffca4aa8cfa68e Mon Sep 17 00:00:00 2001 From: asepharyana Date: Sat, 1 Aug 2026 10:37:21 +0700 Subject: [PATCH] fix(fe): crash 'reading charAt' on message avatar fallback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit msg.username bisa undefined saat pesan live masuk lewat WS (message_updated Partial payload / capture tidak lengkap) -> msg.username.charAt(0) TypeError, halaman /messages mati. - message-card + search-panel: username?.charAt(0) ?? '?' - created_at di-guard juga biar tidak render 'Invalid Date' Verifikasi: tsc PASS, build PASS, biome 0 error. DB saat ini 0 row null username (1176 total) — crash murni dari jalur WS live. --- .../src/components/analysis/search-panel.tsx | 6 ++++-- .../src/components/messages/message-card.tsx | 12 +++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/services/frontend/src/components/analysis/search-panel.tsx b/services/frontend/src/components/analysis/search-panel.tsx index 4a220ad..dc54a38 100644 --- a/services/frontend/src/components/analysis/search-panel.tsx +++ b/services/frontend/src/components/analysis/search-panel.tsx @@ -70,7 +70,7 @@ export function SearchPanel() { - {msg.username.charAt(0).toUpperCase()} + {msg.username?.charAt(0).toUpperCase() ?? "?"}
@@ -79,7 +79,9 @@ export function SearchPanel() { {msg.username} - {new Date(msg.created_at).toLocaleString()} + {msg.created_at + ? new Date(msg.created_at).toLocaleString() + : ""} {msg.ai_status && ( - {msg.username.charAt(0).toUpperCase()} + {msg.username?.charAt(0).toUpperCase() ?? "?"}
{msg.username} - {new Date(msg.created_at).toLocaleString()} + {msg.created_at + ? new Date(msg.created_at).toLocaleString() + : ""}