diff --git a/packages/web/src/components/chat/FriendsPage.tsx b/packages/web/src/components/chat/FriendsPage.tsx index 3668f6d5..fae13ec5 100644 --- a/packages/web/src/components/chat/FriendsPage.tsx +++ b/packages/web/src/components/chat/FriendsPage.tsx @@ -886,15 +886,13 @@ function TabButton({ children, active, onClick }: { children: React.ReactNode, a function FriendItem({ friend, onRemove, onDm }: { friend: TaggedFriend, onRemove: () => void, onDm: () => void }) { const instanceLabel = friend._instanceOrigin ? (() => { try { return new URL(friend._instanceOrigin).host; } catch { return friend._instanceOrigin; } })() : ''; - const { baseName: friendBaseName } = parseFederatedUsername(friend.username); - const friendDisplayName = friend.displayName ?? friendBaseName; return (
- +
- {friendDisplayName} + {friend.displayName ?? friend.username} @{friend.username}
@@ -939,16 +937,14 @@ function RequestItem({ request, type, onAccept, onDecline, onCancel }: { const user = request.user; if (!user) return null; const instanceLabel = request._instanceOrigin ? (() => { try { return new URL(request._instanceOrigin).host; } catch { return request._instanceOrigin; } })() : ''; - const { baseName: reqBaseName } = parseFederatedUsername(user.username); - const reqDisplayName = user.displayName ?? reqBaseName; return (
- +
- {reqDisplayName} + {user.displayName ?? user.username} @{user.username}
diff --git a/packages/web/src/components/chat/MessageList.tsx b/packages/web/src/components/chat/MessageList.tsx index f74731ce..59038f51 100644 --- a/packages/web/src/components/chat/MessageList.tsx +++ b/packages/web/src/components/chat/MessageList.tsx @@ -6,7 +6,7 @@ import { useAuthStore } from '../../stores/authStore'; import { useSocialStore } from '../../stores/socialStore'; import { Avatar } from '../ui/Avatar'; import { hasPermissionBit, PermissionBits } from '../../utils/permissions'; -import { isSelf, parseFederatedUsername } from '../../utils/identity'; +import { isSelf } from '../../utils/identity'; import { useDelayedLoading } from '../../hooks/useDelayedLoading'; import type { MessageWithUser } from '@backspace/shared'; @@ -374,9 +374,8 @@ function WelcomeHeader({ channelId }: { channelId: string }) { if (isDm) { const dm = dmChannels.find(d => d.id === channelId); const otherUser = dm?.members.find(m => !isSelf(m, authUser)); - const { baseName } = parseFederatedUsername(otherUser?.username ?? 'unknown'); - const displayName = otherUser?.displayName ?? baseName; - const username = baseName; + const displayName = otherUser?.displayName ?? otherUser?.username ?? 'Unknown'; + const username = otherUser?.username ?? 'unknown'; const isFriend = otherUser ? friends.some(f => f.id === otherUser.id) : false; return ( diff --git a/packages/web/src/components/layout/ChannelSidebar.tsx b/packages/web/src/components/layout/ChannelSidebar.tsx index f300b19a..d6b5f0f1 100644 --- a/packages/web/src/components/layout/ChannelSidebar.tsx +++ b/packages/web/src/components/layout/ChannelSidebar.tsx @@ -12,7 +12,6 @@ import { useVoiceStore } from '../../stores/voiceStore'; import { Avatar } from '../ui/Avatar'; import { Mascot } from '../ui/Mascot'; import { Username } from '../ui/Username'; -import { Tooltip } from '../ui/Tooltip'; import { wsSend } from '../../hooks/useWebSocket'; import { AudioManager } from '../../audio/AudioManager'; import { hasPermissionBit, PermissionBits } from '../../utils/permissions'; @@ -495,11 +494,9 @@ export function ChannelSidebar() { const isGroup = dm.members.length > 2; const isDmUnread = unreadChannels.has(dm.id) && currentChannelId !== dm.id; - const firstOtherDm = isGroup ? null : otherMembers[0]; - const { baseName: dmBaseName, domain: dmDomain } = parseFederatedUsername(firstOtherDm?.username ?? ''); const dmDisplayName = isGroup ? otherMembers.map(m => m.displayName ?? parseFederatedUsername(m.username).baseName).join(', ') - : firstOtherDm?.displayName ?? dmBaseName; + : otherMembers[0]?.displayName ?? otherMembers[0]?.username; const dmItem = (
)}
-
- - {dmDisplayName} - - {!isGroup && dmDomain && ( - - - - - - )} -
+ {isGroup ? (
{dm.members.length} Members diff --git a/packages/web/src/components/layout/MainContent.tsx b/packages/web/src/components/layout/MainContent.tsx index 8ebab3fb..fa42568c 100644 --- a/packages/web/src/components/layout/MainContent.tsx +++ b/packages/web/src/components/layout/MainContent.tsx @@ -15,8 +15,7 @@ import { Avatar } from '../ui/Avatar'; import { useVoiceStore } from '../../stores/voiceStore'; import { wsSend } from '../../hooks/useWebSocket'; import { MemberListToggleButton } from './MemberListToggleButton'; -import { isSelf, parseFederatedUsername } from '../../utils/identity'; -import { Tooltip } from '../ui/Tooltip'; +import { isSelf } from '../../utils/identity'; import { joinVoiceChannel } from '../../utils/voice'; import { SearchPopover } from '../chat/SearchPopover'; import { isDmChannel, getChannelOrigin } from '../../stores/spaceStore'; @@ -84,11 +83,9 @@ export function MainContent() { const dmChannel = dmChannels.find(dm => dm.id === currentChannelId); const otherMembers = dmChannel?.members.filter(m => !isSelf(m, authUser)) ?? []; const isGroupDm = (dmChannel?.members.length ?? 0) > 2; - const firstOther = otherMembers[0]; - const { baseName: firstBaseName, domain: firstDomain } = parseFederatedUsername(firstOther?.username ?? ''); const dmName = isGroupDm - ? otherMembers.map(m => m.displayName ?? parseFederatedUsername(m.username).baseName).join(', ') - : firstOther?.displayName ?? (firstBaseName || 'Direct Message'); + ? otherMembers.map(m => m.displayName ?? m.username).join(', ') + : otherMembers[0]?.displayName ?? otherMembers[0]?.username ?? 'Direct Message'; const isInDmCall = activeDmCall?.dmChannelId === currentChannelId; const isCallingThisDm = outgoingCall?.dmChannelId === currentChannelId; @@ -169,13 +166,6 @@ export function MainContent() { {dmName} - {!isGroupDm && firstDomain && ( - - - - - - )} {isGroupDm && ( ({dmChannel?.members.length} Members) )} diff --git a/packages/web/src/components/layout/MobileDmsScreen.tsx b/packages/web/src/components/layout/MobileDmsScreen.tsx index fa9871a1..49fbca1e 100644 --- a/packages/web/src/components/layout/MobileDmsScreen.tsx +++ b/packages/web/src/components/layout/MobileDmsScreen.tsx @@ -118,7 +118,7 @@ export function MobileDmsScreen() {
@@ -129,7 +129,7 @@ export function MobileDmsScreen() { }`} />
- {friend.displayName ?? parseFederatedUsername(friend.username).baseName} + {friend.displayName ?? friend.username} ); @@ -144,8 +144,8 @@ export function MobileDmsScreen() { const otherMembers = dm.members.filter(m => m.id !== authUser?.id); const isGroup = dm.members.length > 2; const name = isGroup - ? otherMembers.map(m => m.displayName ?? parseFederatedUsername(m.username).baseName).join(', ') - : otherMembers[0]?.displayName ?? (parseFederatedUsername(otherMembers[0]?.username ?? '').baseName || 'Unknown'); + ? otherMembers.map(m => m.displayName ?? m.username).join(', ') + : otherMembers[0]?.displayName ?? otherMembers[0]?.username ?? 'Unknown'; const lastMsgId = dm.lastMessage?.id; const readState = readStates.get(dm.id); @@ -207,7 +207,7 @@ export function MobileDmsScreen() { {preview && (

{previewSender && previewSender.id !== authUser?.id - ? `${previewSender.displayName ?? parseFederatedUsername(previewSender.username).baseName}: ${preview}` + ? `${previewSender.displayName ?? previewSender.username}: ${preview}` : preview}

)} diff --git a/packages/web/src/components/ui/Username.tsx b/packages/web/src/components/ui/Username.tsx index 05dbea2e..adcebe5e 100644 --- a/packages/web/src/components/ui/Username.tsx +++ b/packages/web/src/components/ui/Username.tsx @@ -15,14 +15,13 @@ export function Username({ username, showAt, className, style }: UsernameProps) return {prefix}{username}; } const name = username.slice(0, atIndex); + const domain = username.slice(atIndex + 1); return ( - - {prefix}{name} - - - - - - + + + {prefix}{name} + @{domain} + + ); }