fix(desktop): show real name initial in avatar fallback instead of "Y" (#504)

Signed-off-by: Matt Toohey <contact@matttoohey.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matt Toohey
2026-05-07 22:04:25 -07:00
committed by GitHub
co-authored by Claude Opus 4.6
parent 5ce35a8805
commit 823cae43f4
3 changed files with 16 additions and 3 deletions
@@ -5,7 +5,10 @@ import {
useChannelMembersQuery,
} from "@/features/channels/hooks";
import { useClassifiedMembers } from "@/features/channels/lib/useClassifiedMembers";
import { formatMemberName } from "@/features/channels/lib/memberUtils";
import {
formatMemberName,
formatPubkey,
} from "@/features/channels/lib/memberUtils";
import { useUsersBatchQuery } from "@/features/profile/hooks";
import { usePresenceQuery } from "@/features/presence/hooks";
import { changeChannelMemberRole } from "@/shared/api/tauri";
@@ -162,6 +165,7 @@ export function MembersSidebar({
}
member={member}
memberIsBot={memberIsBot}
memberAvatarLabel={member.displayName ?? formatPubkey(member.pubkey)}
memberLabel={formatMemberName(member, currentPubkey)}
onChangeRole={(m, role) => {
void changeRoleMutation.mutateAsync({ pubkey: m.pubkey, role });
@@ -39,6 +39,7 @@ type MembersSidebarMemberCardProps = {
isArchived: boolean;
managedAgent?: ManagedAgent;
member: ChannelMember;
memberAvatarLabel: string;
memberIsBot: boolean;
memberLabel: string;
onChangeRole: (member: ChannelMember, role: string) => void;
@@ -77,6 +78,7 @@ export function MembersSidebarMemberCard({
isArchived,
managedAgent,
member,
memberAvatarLabel,
memberIsBot,
memberLabel,
onChangeRole,
@@ -107,7 +109,7 @@ export function MembersSidebarMemberCard({
avatarUrl={profileAvatarUrl ?? null}
className="h-9 w-9 rounded-full text-[11px] shadow-none"
iconClassName="h-4 w-4"
label={memberLabel}
label={memberAvatarLabel}
/>
{presenceStatus ? (
<span
@@ -189,7 +189,14 @@ export const SystemMessageRow = React.memo(function SystemMessageRow({
}
const avatarPubkey = payload.actor ?? payload.target;
const avatarLabel = resolveLabel(avatarPubkey, currentPubkey, profiles);
const avatarLabel = avatarPubkey
? resolveUserLabel({
pubkey: avatarPubkey,
currentPubkey,
profiles,
preferResolvedSelfLabel: true,
})
: "Someone";
return (
<div