메신저 사용자 검색 undefined 가드
useCompanyUsers 응답 중 user_name 이 비어있는 레거시 row 가 있을 때 toLowerCase 호출에서 발생하던 Runtime TypeError 방지. - NewRoomModal: userName/deptName ?? '' 으로 가드 후 includes - MessageInput: 멘션 자동완성 필터에서 userName ?? '' 가드 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -39,7 +39,7 @@ function MessageInput({ roomId, onTypingStart, onTypingStop }: MessageInputProps
|
||||
const { data: users } = useCompanyUsers();
|
||||
|
||||
const filteredMentionUsers = mentionQuery !== null && users
|
||||
? users.filter((u) => u.userName.toLowerCase().includes(mentionQuery.toLowerCase())).slice(0, 5)
|
||||
? users.filter((u) => (u.userName ?? "").toLowerCase().includes(mentionQuery.toLowerCase())).slice(0, 5)
|
||||
: [];
|
||||
|
||||
// Revoke object URLs when pending files change or component unmounts
|
||||
|
||||
@@ -35,11 +35,12 @@ export function NewRoomModal({ open, onOpenChange, userStatuses }: NewRoomModalP
|
||||
const createRoom = useCreateRoom();
|
||||
const { selectRoom } = useMessengerContext();
|
||||
|
||||
const filtered = users.filter(
|
||||
(u) =>
|
||||
u.userName.toLowerCase().includes(search.toLowerCase()) ||
|
||||
(u.deptName && u.deptName.toLowerCase().includes(search.toLowerCase()))
|
||||
);
|
||||
const filtered = users.filter((u) => {
|
||||
const q = search.toLowerCase();
|
||||
const name = (u.userName ?? "").toLowerCase();
|
||||
const dept = (u.deptName ?? "").toLowerCase();
|
||||
return name.includes(q) || dept.includes(q);
|
||||
});
|
||||
|
||||
const toggleUser = (userId: string) => {
|
||||
if (tab === "dm") {
|
||||
|
||||
Reference in New Issue
Block a user