Show member avatars in chat tool window title bars

Fixkamo-internal
Shipped
July 22, 2026 at 7:01 PM UTC
Author
kamo
Commit
4793977

The tool-window title bar renders its icon from the window STORE props — ToolDock passes `avatarSrc={w.toolId === 'chat' ? w.props.avatarSrc : undefined}` and forces `icon` to undefined for chat. ChatTool resolved the real avatar via fetchMemberAvatar but wrote it only to React state, and the only tool:patchProps it dispatched carried sessionGuid. It also handed the avatar to an embedded ChatBox, whose avatar header exists solely on the non-embedded path. So the fetched photo reached no renderer, w.props.avatarSrc stayed undefined, and with both icon and avatar empty the header rendered neither element — a blank gap. - ChatTool: patch the resolved avatar back onto window props, mirroring the existing sessionGuid patch. - ChatTool: resolve the counterpart member for chats opened from the recent-chats list, which carry only a sessionGuid and so had no id to fetch by. Resolve by memberId rather than SessionMember.avatarUrl, which MediaService hardcodes null **************** since avatars resolve frontend-side. - ToolWindowShell: fall back to initials, and on img error, instead of rendering nothing when a chat window has no avatar (group chats, missing photo, in-flight). - useHexHeadEngine: stop fetching by d.userId, which is the WINDOW id, not a member — /api/security/members/w12 always 404s. Fetch only with a real member id and otherwise use the avatar the window already resolved.

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