Skip to content

show custom avatars throughout chat - #92

Merged
tulsi-builder merged 1 commit into
mainfrom
fix/custom-avatars-chat
Aug 18, 2026
Merged

show custom avatars throughout chat#92
tulsi-builder merged 1 commit into
mainfrom
fix/custom-avatars-chat

Conversation

@tulsi-builder

Copy link
Copy Markdown
Contributor

Overview

Category: fix
User Impact: Custom agent avatars and generated gloopies now appear consistently throughout chat, just like default avatars.

Problem: Chat’s small avatar surfaces only looked for static catalog images, so generated and other cached custom avatars often fell back to generic agent icons. This made the selected agent’s identity disappear in messages, chips, pickers, and mention results.

Solution: Introduce one shared avatar renderer that prefers static images but falls back to cached poster or media representations. Use that renderer across every chat identity surface so default and custom avatars follow the same presentation path.

Changes

File changes

src/shared/ui/avatar-visual.tsx
Adds the shared avatar presentation component that resolves catalog images, cached posters, animated media, and caller-provided fallbacks in a consistent order.

src/shared/ui/avatar-visual.test.tsx
Covers default catalog avatars, custom poster-backed avatars, image-only custom avatars, and unavailable-media fallbacks.

src/features/chat/ui/ConversationEmptyAvatar.tsx
Uses the shared renderer for the large empty-conversation avatar while preserving the deterministic default fallback.

src/features/chat/ui/MessageBubble.tsx
Displays custom avatars and gloopies in assistant message gutters and inline assistant identity chrome.

src/features/chat/ui/MessageMetadataChip.tsx
Displays custom avatars in agent chips attached to sent messages.

src/features/chat/ui/PersonaPicker.tsx
Displays custom avatars in the selected-agent trigger, composer chip, and persona menu.

src/features/chat/ui/MentionAutocomplete.tsx
Displays custom avatars in agent mention search results.

src/features/chat/ui/tests/ConversationEmptyAvatar.test.tsx
Adds regression coverage for cached custom media in the fresh-chat avatar.

src/features/chat/ui/tests/MessageBubble.test.tsx
Adds regression coverage for generated gloopies in assistant message gutters.

src/features/design-system/generated/componentManifest.ts
Registers the new shared avatar renderer in the generated design-system inventory.

Reproduction Steps

  1. Run the Berd dev app and select an agent that uses a generated gloopie or another custom avatar.
  2. Confirm the custom avatar appears in the composer’s selected-agent chip and persona picker.
  3. Type @ and confirm the same avatar appears beside the agent in mention autocomplete.
  4. Send a message with that agent and confirm its avatar appears in the sent-message agent chip.
  5. Let the agent respond and confirm its avatar appears in the assistant message gutter.
  6. Start a fresh chat with the agent and confirm its avatar appears above the empty-conversation prompt.

Screenshots/Demos

Manually verified in the dev app with a custom generated gloopie across the composer and chat transcript surfaces.

@tulsi-builder
tulsi-builder requested a review from a team August 18, 2026 23:14
@tulsi-builder
tulsi-builder enabled auto-merge (squash) August 18, 2026 23:18
@tulsi-builder
tulsi-builder merged commit 1dca11b into main Aug 18, 2026
9 checks passed
@tulsi-builder
tulsi-builder deleted the fix/custom-avatars-chat branch August 18, 2026 23:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants