Skip to content

Commit 712a1b5

Browse files
fix(site): correct user agent data on audit row (coder#14243)
1 parent ccc664d commit 712a1b5

File tree

2 files changed

+44
-9
lines changed

2 files changed

+44
-9
lines changed

site/src/pages/AuditPage/AuditLogRow/AuditLogRow.stories.tsx

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
MockAuditLogWithWorkspaceBuild,
1313
MockAuditLogWithDeletedResource,
1414
MockAuditLogGitSSH,
15+
MockUser,
1516
} from "testHelpers/entities";
1617
import { AuditLogRow } from "./AuditLogRow";
1718

@@ -120,3 +121,34 @@ export const WithOrganization: Story = {
120121
showOrgDetails: true,
121122
},
122123
};
124+
125+
export const NoUserAgent: Story = {
126+
args: {
127+
auditLog: {
128+
id: "8073939e-2f18-41f6-9cec-c1e61293b0d5",
129+
request_id: "79d1df16-b387-4d47-8f47-dc2b919c78b9",
130+
time: "2024-07-15T19:30:16.327247Z",
131+
organization_id: "703f72a1-76f6-4f89-9de6-8a3989693fe5",
132+
ip: "",
133+
user_agent: "",
134+
resource_type: "workspace_build",
135+
resource_id: "605e8bda-2d1e-43c3-beec-97ebedc1b88c",
136+
resource_target: "",
137+
resource_icon: "",
138+
action: "delete",
139+
diff: {},
140+
status_code: 500,
141+
additional_fields: {
142+
build_number: "35",
143+
build_reason: "autodelete",
144+
workspace_id: "649742dc-1b4a-43d8-8539-2fbc11b1bbac",
145+
workspace_name: "yeee",
146+
workspace_owner: "",
147+
},
148+
description: "{user} deleted workspace {target}",
149+
resource_link: "/@jon/yeee/builds/35",
150+
is_deleted: false,
151+
user: MockUser,
152+
},
153+
},
154+
};

site/src/pages/AuditPage/AuditLogRow/AuditLogRow.tsx

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ export const AuditLogRow: FC<AuditLogRowProps> = ({
4848
const [isDiffOpen, setIsDiffOpen] = useState(defaultIsDiffOpen);
4949
const diffs = Object.entries(auditLog.diff);
5050
const shouldDisplayDiff = diffs.length > 0;
51-
const { os, browser } = userAgentParser(auditLog.user_agent);
51+
const userAgent = auditLog.user_agent
52+
? userAgentParser(auditLog.user_agent)
53+
: undefined;
5254

5355
let auditDiff = auditLog.diff;
5456

@@ -129,17 +131,18 @@ export const AuditLogRow: FC<AuditLogRowProps> = ({
129131
<div>{auditLog.ip}</div>
130132
</div>
131133
)}
132-
{os.name && (
134+
{userAgent?.os.name && (
133135
<div>
134136
<h4 css={styles.auditLogInfoHeader}>OS:</h4>
135-
<div>{os.name}</div>
137+
<div>{userAgent.os.name}</div>
136138
</div>
137139
)}
138-
{browser.name && (
140+
{userAgent?.browser.name && (
139141
<div>
140142
<h4 css={styles.auditLogInfoHeader}>Browser:</h4>
141143
<div>
142-
{browser.name} {browser.version}
144+
{userAgent.browser.name}{" "}
145+
{userAgent.browser.version}
143146
</div>
144147
</div>
145148
)}
@@ -175,17 +178,17 @@ export const AuditLogRow: FC<AuditLogRowProps> = ({
175178
<strong>{auditLog.ip}</strong>
176179
</span>
177180
)}
178-
{os.name && (
181+
{userAgent?.os.name && (
179182
<span css={styles.auditLogInfo}>
180183
<span>OS: </span>
181-
<strong>{os.name}</strong>
184+
<strong>{userAgent.os.name}</strong>
182185
</span>
183186
)}
184-
{browser.name && (
187+
{userAgent?.browser.name && (
185188
<span css={styles.auditLogInfo}>
186189
<span>Browser: </span>
187190
<strong>
188-
{browser.name} {browser.version}
191+
{userAgent.browser.name} {userAgent.browser.version}
189192
</strong>
190193
</span>
191194
)}

0 commit comments

Comments
 (0)