diff --git a/apps/web/src/lib/useOrgChat.ts b/apps/web/src/lib/useOrgChat.ts index 0506220..e206378 100644 --- a/apps/web/src/lib/useOrgChat.ts +++ b/apps/web/src/lib/useOrgChat.ts @@ -927,17 +927,16 @@ export function useOrgChat() { rememberHidden(roomId, [...hiddenSet]); const myId = session.chatUserId; - const normalized = (list - .map((item: Record) => normalizeIncoming(item, roomId)) - .filter((m): m is ChatMessage => Boolean(m) && !hiddenSet.has(m!.id)) as ChatMessage[]).map( - (m) => { - if (m.senderId !== myId) return m; - return { - ...m, - delivery: (m.readAt ? 'read' : 'sent') as ChatDelivery, - }; - }, - ); + const normalized: ChatMessage[] = []; + for (const item of list as Record[]) { + const m = normalizeIncoming(item, roomId); + if (!m || hiddenSet.has(m.id)) continue; + normalized.push( + m.senderId === myId + ? { ...m, delivery: (m.readAt ? 'read' : 'sent') as ChatDelivery } + : m, + ); + } messages.value = sortAsc(normalized); sendRead(roomId); } finally {