Render member photos on avatars inside the chat window

Fixkamo-internal
Shipped
July 22, 2026 at 7:54 PM UTC
Author
kamo
Commit
78f0849

The small avatar icons in a chat popup — the per-message sender avatar (MessageBubble) and the seen-receipt list (SeenIndicator) — all read SessionMember.avatarUrl, which MediaService deliberately returns as null on every session-member payload **************** because avatars are a SecurityService concern. Clients are expected to fill them in from the member directory, and chat-core ships fetchMemberAvatarMap for exactly that purpose — its doc states "both mobile and kamo-internal fill it from this directory". kamo-internal had zero callers, so avatarUrl stayed null forever and every in-window member icon rendered as an empty MUI Avatar. NavTopPanel already builds the same map for the Chats tab, which is why member photos show up there but not inside the chat window itself. Resolve the map once per page (cached as a promise so N windows opening at once share one directory fetch) and overlay it onto the session members in useChatConversation, the single point every consumer reads members from. Sized to 'sm' for these 16-24px icons; media-core's sizing is idempotent so consumers that size again are unaffected, and a member with no photo keeps a null avatarUrl and falls back to initials.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing