1
0
Fork 0
forked from Mirrors/gomuks

web/rightpanel: fix handling non-string displaynames in member events

This commit is contained in:
Tulir Asokan 2025-02-10 22:33:16 +02:00
parent 3075156884
commit 8ba9279cc7

View file

@ -18,7 +18,7 @@ import { PuffLoader } from "react-spinners"
import { getAvatarURL } from "@/api/media.ts" import { getAvatarURL } from "@/api/media.ts"
import { useRoomMember } from "@/api/statestore" import { useRoomMember } from "@/api/statestore"
import { MemberEventContent, UserID, UserProfile } from "@/api/types" import { MemberEventContent, UserID, UserProfile } from "@/api/types"
import { getLocalpart } from "@/util/validation.ts" import { ensureString, getLocalpart } from "@/util/validation.ts"
import ClientContext from "../ClientContext.ts" import ClientContext from "../ClientContext.ts"
import { LightboxContext } from "../modal" import { LightboxContext } from "../modal"
import { RoomContext } from "../roomview/roomcontext.ts" import { RoomContext } from "../roomview/roomcontext.ts"
@ -51,8 +51,9 @@ const UserInfo = ({ userID }: UserInfoProps) => {
) )
}, [userID, client]) }, [userID, client])
useEffect(() => refreshProfile(true), [refreshProfile]) useEffect(() => refreshProfile(true), [refreshProfile])
const displayname = ensureString(member?.displayname)
const displayname = member?.displayname || globalProfile?.displayname || getLocalpart(userID) || ensureString(globalProfile?.displayname)
|| getLocalpart(userID)
return <> return <>
<div className="avatar-container"> <div className="avatar-container">
{member === null && globalProfile === null && errors == null ? <PuffLoader {member === null && globalProfile === null && errors == null ? <PuffLoader