Skip to content
This repository was archived by the owner on Aug 6, 2026. It is now read-only.

trunk-merge/pr-3657/d774c9bb-8777-4c10-a518-7a7ea364fdc0 - #3673

Closed
trunk-io[bot] wants to merge 7 commits into
mainfrom
trunk-merge/pr-3657/d774c9bb-8777-4c10-a518-7a7ea364fdc0
Closed

trunk-io[bot] wants to merge 7 commits into
mainfrom
trunk-merge/pr-3657/d774c9bb-8777-4c10-a518-7a7ea364fdc0

Conversation

@trunk-io

@trunk-io trunk-io Bot commented Jul 22, 2026

Copy link
Copy Markdown
Trunk Merge Pull Request Banner

This pull request was created and is being managed by Trunk Merge.

This pull request is based on the main branch at SHA 254afc41d66b7254901b1fb2963f449ddd48ef36.

See more details here.

When CI completes, this pull request will be closed automatically.

Pull Requests Being Tested

This pull request is testing the changes from pull request 3657.

raquelmsmith and others added 7 commits July 21, 2026 12:37
Channel/thread/activity message avatars were initials-only in a single
neutral color. Add a shared UserAvatar that resolves a Gravatar from the
author's email (SHA-256 hash, d=404 so a missing Gravatar falls through)
and falls back to initials tinted with a deterministic per-user color, so
people are visually distinguishable at a glance.

- avatarColorClass: deterministic seed -> Radix palette class (core);
  reviewerAvatarToneClass now delegates to it.
- useGravatarUrl: Web Crypto SHA-256, no new hashing dependency.
- UserAvatar: quill Avatar + AvatarImage(gravatar) + colored AvatarFallback.
- Swap human-author call sites in ActivityView, ThreadPanel, ChannelFeedView;
  agent/system rows keep the robot icon.

Generated-By: PostHog Code
Task-Id: 03a1a20f-7597-4267-bf73-0ef6224e71e7
The per-user color was applied as a Tailwind `bg-(--x-9)` class built in
@posthog/core, but the app's Tailwind content globs only scan packages/ui
and apps/*, not packages/core — so those utilities were never generated and
every bubble fell back to the neutral gray default.

Return a CSS variable (var(--x-9)) instead and apply it via inline style on
the AvatarFallback, which doesn't depend on Tailwind class generation. Revert
the reviewer-avatar helper to its original standalone form (it has the same
latent scanning limitation but is out of scope here).

Generated-By: PostHog Code
Task-Id: 03a1a20f-7597-4267-bf73-0ef6224e71e7
Port the 16 background/text color pairs and the index%16 selection from
PostHog's Lettermark. Each background ships with a paired text color chosen
for contrast, and the values are theme-independent, so initials stay legible
in both light and dark mode. avatarColor(seed) now returns {bg, text}, applied
together as inline styles on the fallback.

Generated-By: PostHog Code
Task-Id: 03a1a20f-7597-4267-bf73-0ef6224e71e7
A reused UserAvatar whose email prop changed kept the previous person's
Gravatar URL until the new email's hash resolved, briefly showing the wrong
photo. Clear the URL at the start of each hash so initials show during the
transition. Adds a regression test.

Generated-By: PostHog Code
Task-Id: 03a1a20f-7597-4267-bf73-0ef6224e71e7
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
A suggestion applied to the branch left two `let cancelled = false;`
declarations in the same block, which fails to compile and broke the
useGravatarUrl tests. Drop the duplicate.

Generated-By: PostHog Code
Task-Id: 03a1a20f-7597-4267-bf73-0ef6224e71e7
@github-actions

Copy link
Copy Markdown

React Doctor found no issues in the changed files. 🎉

Reviewed by React Doctor for commit 24a3526.

@trunk-io trunk-io Bot closed this Jul 22, 2026
@trunk-io
trunk-io Bot deleted the trunk-merge/pr-3657/d774c9bb-8777-4c10-a518-7a7ea364fdc0 branch July 22, 2026 04:09
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant