From c1cda224be152c63cd1a022983bc8f3e7ed12ca9 Mon Sep 17 00:00:00 2001 From: TkDodo Date: Thu, 28 May 2026 11:04:45 +0200 Subject: [PATCH] fix(feedback): Make UserReport name and email nullable Fixes JAVASCRIPT-3A0C --- static/app/components/events/userFeedback.tsx | 46 ++++++++++--------- static/app/types/group.tsx | 4 +- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/static/app/components/events/userFeedback.tsx b/static/app/components/events/userFeedback.tsx index c3f2cd05da3557..808a8c128ed909 100644 --- a/static/app/components/events/userFeedback.tsx +++ b/static/app/components/events/userFeedback.tsx @@ -21,8 +21,6 @@ type Props = { export function EventUserFeedback({eventLink, report}: Props) { const {copy} = useCopyToClipboard(); const showEmailLabel = !isSameIdentity(report.name, report.email); - const copyEmail = () => - copy(report.email, {successMessage: t('Copied email to clipboard')}); return ( @@ -34,20 +32,26 @@ export function EventUserFeedback({eventLink, report}: Props) { {report.name} - + {report.email ? ( + + ) : null} {eventLink && ( @@ -71,8 +75,8 @@ export function EventUserFeedback({eventLink, report}: Props) { ); } -function isSameIdentity(name: string, email: string) { - return name.trim().toLowerCase() === email.trim().toLowerCase(); +function isSameIdentity(name: string | null, email: string | null) { + return name?.trim().toLowerCase() === email?.trim().toLowerCase(); } function getAvatarUser(report: UserReport): AvatarUser | undefined { @@ -81,8 +85,8 @@ function getAvatarUser(report: UserReport): AvatarUser | undefined { if (!user) { return { id: '', - email: report.email, - name: report.name, + email: report.email ?? '', + name: report.name ?? '', username: '', ip_address: '', }; @@ -91,7 +95,7 @@ function getAvatarUser(report: UserReport): AvatarUser | undefined { return { id: user.id, email: user.email ?? '', - name: user.name ?? report.name, + name: user.name ?? report.name ?? '', username: user.username ?? '', ip_address: user.ipAddress ?? '', avatarUrl: user.avatarUrl ?? undefined, diff --git a/static/app/types/group.tsx b/static/app/types/group.tsx index 9cf74b4a918dff..6092c6fa8abff6 100644 --- a/static/app/types/group.tsx +++ b/static/app/types/group.tsx @@ -1262,11 +1262,11 @@ export type ChunkType = { export type UserReport = { comments: string; dateCreated: string; - email: string; + email: string | null; event: {eventID: string; id: string}; eventID: string; id: string; - name: string; + name: string | null; user: { avatarUrl: string | null; email: string | null;