From 78df7869d510cdc013826ff5c48df71c6ca74e96 Mon Sep 17 00:00:00 2001 From: Bruno Quaresma Date: Wed, 12 Mar 2025 11:36:38 -0300 Subject: [PATCH] refactor: name null users in audit logs (#16890) A few audit logs can have the user as null which means the user is not authenticated when executing the action. To make it more explicit we named than as "Unauthenticated user" in the log description instead of "undefined user". --- .../AuditLogDescription/AuditLogDescription.stories.tsx | 9 +++++++++ .../AuditLogDescription/AuditLogDescription.tsx | 4 +++- .../AuditLogDescription/BuildAuditDescription.tsx | 4 +++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/AuditLogDescription.stories.tsx b/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/AuditLogDescription.stories.tsx index dd2c88f5be..99d4f900ca 100644 --- a/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/AuditLogDescription.stories.tsx +++ b/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/AuditLogDescription.stories.tsx @@ -105,3 +105,12 @@ export const SCIMUpdateUser: Story = { }, }, }; + +export const UnauthenticatedUser: Story = { + args: { + auditLog: { + ...MockAuditLog, + user: null, + }, + }, +}; diff --git a/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/AuditLogDescription.tsx b/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/AuditLogDescription.tsx index 4b2a9b4df4..ed105989f1 100644 --- a/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/AuditLogDescription.tsx +++ b/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/AuditLogDescription.tsx @@ -19,7 +19,9 @@ export const AuditLogDescription: FC = ({ } let target = auditLog.resource_target.trim(); - let user = auditLog.user?.username.trim(); + let user = auditLog.user + ? auditLog.user.username.trim() + : "Unauthenticated user"; // SSH key entries have no links if (auditLog.resource_type === "git_ssh_key") { diff --git a/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/BuildAuditDescription.tsx b/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/BuildAuditDescription.tsx index ca610eb01f..8e321d6e85 100644 --- a/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/BuildAuditDescription.tsx +++ b/site/src/pages/AuditPage/AuditLogRow/AuditLogDescription/BuildAuditDescription.tsx @@ -16,7 +16,9 @@ export const BuildAuditDescription: FC = ({ auditLog.additional_fields?.build_reason && auditLog.additional_fields?.build_reason !== "initiator" ? "Coder automatically" - : auditLog.user?.username.trim(); + : auditLog.user + ? auditLog.user.username.trim() + : "Unauthenticated user"; const action = useMemo(() => { switch (auditLog.action) {