- {userAvailable ? (
+ {message.user?.id && message.user.email ? (
message.user.first_name?.charAt(0) ||
message.user.email.charAt(0)
) : (
diff --git a/services/web/frontend/js/features/review-panel-new/components/review-panel-entry-user.tsx b/services/web/frontend/js/features/review-panel-new/components/review-panel-entry-user.tsx
index ae53fbc8c8..221e297c4b 100644
--- a/services/web/frontend/js/features/review-panel-new/components/review-panel-entry-user.tsx
+++ b/services/web/frontend/js/features/review-panel-new/components/review-panel-entry-user.tsx
@@ -3,13 +3,15 @@ import { buildName } from '../utils/build-name'
import { ReviewPanelUser } from '../../../../../types/review-panel/review-panel'
import { ChangesUser } from '../context/changes-users-context'
import { getBackgroundColorForUserId } from '@/shared/utils/colors'
+import { useTranslation } from 'react-i18next'
const ReviewPanelEntryUser = ({
user,
}: {
user?: ReviewPanelUser | ChangesUser
}) => {
- const userName = buildName(user)
+ const { t } = useTranslation()
+ const userName = user ? buildName(user) : t('deleted_user')
return (
diff --git a/services/web/frontend/js/features/review-panel-new/components/review-panel-message.tsx b/services/web/frontend/js/features/review-panel-new/components/review-panel-message.tsx
index d6017208d8..41c8a8d5a2 100644
--- a/services/web/frontend/js/features/review-panel-new/components/review-panel-message.tsx
+++ b/services/web/frontend/js/features/review-panel-new/components/review-panel-message.tsx
@@ -40,7 +40,7 @@ export const ReviewPanelMessage: FC<{
const user = useUserContext()
const permissions = usePermissionsContext()
- const isCommentAuthor = user.id === message.user.id
+ const isCommentAuthor = Boolean(message.user && user.id === message.user.id)
const canEdit = isCommentAuthor && permissions.comment
const canResolve =
permissions.resolveAllComments ||
diff --git a/services/web/frontend/js/features/review-panel-new/utils/build-name.ts b/services/web/frontend/js/features/review-panel-new/utils/build-name.ts
index 9bfb6902c4..bd1fbf1a12 100644
--- a/services/web/frontend/js/features/review-panel-new/utils/build-name.ts
+++ b/services/web/frontend/js/features/review-panel-new/utils/build-name.ts
@@ -1,15 +1,17 @@
-export const buildName = (user?: {
+export const buildName = (user: {
first_name?: string
last_name?: string
email?: string
}) => {
- const name = [user?.first_name, user?.last_name].filter(Boolean).join(' ')
+ const name = [user.first_name, user.last_name].filter(Boolean).join(' ')
if (name) {
return name
}
- if (user?.email) {
+
+ if (user.email) {
return user.email.split('@')[0]
}
+
return 'Unknown'
}
diff --git a/services/web/types/review-panel/review-panel.ts b/services/web/types/review-panel/review-panel.ts
index 200f904430..cba5490ab0 100644
--- a/services/web/types/review-panel/review-panel.ts
+++ b/services/web/types/review-panel/review-panel.ts
@@ -20,6 +20,6 @@ export interface ReviewPanelCommentThreadMessage {
content: string
id: CommentId
timestamp: Date
- user: ReviewPanelUser
+ user?: ReviewPanelUser
user_id: UserId
}