Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
|
📝 WalkthroughWalkthroughAdded optional Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Confidence Score: 5/5Safe to merge — all changes are additive UI enhancements with no breaking changes or logic errors. No P0/P1 findings. The type addition is non-breaking, the conditional No files require special attention. Important Files Changed
Reviews (6): Last reviewed commit: "feat: surface user identity in log detai..." | Re-trigger Greptile |
122d4ef to
fe3a994
Compare
3913095 to
1a2e6e1
Compare
fe3a994 to
94fba19
Compare
1a2e6e1 to
ab41166
Compare
9627995 to
2fac53f
Compare
ab41166 to
c8e88fc
Compare
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
ui/app/workspace/logs/sheets/logDetailView.tsx (1)
350-367:⚠️ Potential issue | 🟡 MinorHandle
user_name-only rows instead of hiding the User fieldLine 350 currently requires
log.user_id, so if onlyuser_nameis present, the User row disappears. Since both fields are optional onLogEntry, render when either exists and only make it a link whenuser_idis available.💡 Proposed fix
- {log.user_id && ( + {(log.user_id || log.user_name) && ( <LogEntryDetailsView className="w-full" label="User" value={ - <Tooltip> - <TooltipTrigger asChild> - <Link - to="/workspace/logs" - search={{ user_ids: [log.user_id] }} - className={`text-primary hover:text-primary/80 block min-w-0 cursor-pointer text-sm font-normal break-all underline-offset-2 hover:underline${log.user_name ? "" : " font-mono"}`} - data-testid="logdetails-user-link" - > - {log.user_name || log.user_id} - </Link> - </TooltipTrigger> - <TooltipContent sideOffset={6}>{log.user_name ? log.user_id : "Filter by user"}</TooltipContent> - </Tooltip> + log.user_id ? ( + <Tooltip> + <TooltipTrigger asChild> + <Link + to="/workspace/logs" + search={{ user_ids: [log.user_id] }} + className={`text-primary hover:text-primary/80 block min-w-0 cursor-pointer text-sm font-normal break-all underline-offset-2 hover:underline${log.user_name ? "" : " font-mono"}`} + data-testid="logdetails-user-link" + > + {log.user_name || log.user_id} + </Link> + </TooltipTrigger> + <TooltipContent sideOffset={6}>{log.user_name ? log.user_id : "Filter by user"}</TooltipContent> + </Tooltip> + ) : ( + <span className="block min-w-0 text-sm font-normal break-all">{log.user_name}</span> + ) } /> )}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@ui/app/workspace/logs/sheets/logDetailView.tsx` around lines 350 - 367, The User row is currently gated on log.user_id so entries with only log.user_name are hidden; change the render to show the LogEntryDetailsView when either log.user_id or log.user_name exists, and inside render a Link (with search prop and data-testid) only when log.user_id exists otherwise render plain text (still wrapped in Tooltip/TooltipContent) showing the name and an appropriate tooltip message; update references in this block (LogEntryDetailsView, Tooltip, TooltipTrigger, Link, TooltipContent, log.user_id, log.user_name) accordingly so the row appears for name-only rows and becomes a link only when user_id is present.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@ui/app/workspace/logs/sheets/logDetailView.tsx`:
- Around line 350-367: The User row is currently gated on log.user_id so entries
with only log.user_name are hidden; change the render to show the
LogEntryDetailsView when either log.user_id or log.user_name exists, and inside
render a Link (with search prop and data-testid) only when log.user_id exists
otherwise render plain text (still wrapped in Tooltip/TooltipContent) showing
the name and an appropriate tooltip message; update references in this block
(LogEntryDetailsView, Tooltip, TooltipTrigger, Link, TooltipContent,
log.user_id, log.user_name) accordingly so the row appears for name-only rows
and becomes a link only when user_id is present.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 14f06f77-e851-4e57-9cd9-b3be697944be
📒 Files selected for processing (3)
ui/app/workspace/logs/sheets/logDetailView.tsxui/components/filters/logsFilterSidebar.tsxui/lib/types/logs.ts
✅ Files skipped from review due to trivial changes (1)
- ui/lib/types/logs.ts
🚧 Files skipped from review as they are similar to previous changes (1)
- ui/components/filters/logsFilterSidebar.tsx
2fac53f to
849bad9
Compare
c8e88fc to
1e7027c
Compare
1e7027c to
aefb353
Compare
849bad9 to
defc8f1
Compare
Merge activity
|
The base branch was changed.

Summary
Surfaces user identity in the logs UI: the log detail view now prefers the
display name over the raw user ID (falling back when no name is available)
and the log filter popover gains a User ID input so users can drill down to a
specific user's traffic. Pairs with the backend change that writes
user_nameonto log rows.
Changes
ui/lib/types/logs.ts: add optionaluser_name?: stringtoLogEntrytomatch the new log column.
ui/app/workspace/logs/sheets/logDetailView.tsx: renderlog.user_name || log.user_idin the User field link, wrapped in atooltip that shows the raw user ID when a name is present and a "Filter by
user" hint otherwise.
font-monois applied only when the link rendersthe raw ID — human-readable names use the normal link style (matching the
neighbouring Team / Customer / Business Unit identity fields).
ui/components/filters/filterPopover.tsx: add a User command group with atext input bound to the existing
user_idsfilter (single-value slot,matching how the same filter is already invoked from the log detail link).
Type of change
Affected areas
How to test
Functional:
user_nameis populated (afterthe paired backend change). The log detail sheet should show the name as
the primary label with the raw ID surfaced via tooltip.
user_name— the detail sheetshould fall back to the user ID as the label and show a "Filter by user"
tooltip.
list should narrow to that user's entries. Clearing the input should
remove the filter.
to the logs list pre-filtered by that user ID.
Screenshots/Recordings
UI change — screenshots/recordings to be attached in the PR description.
Breaking changes
user_nameonLogEntryis optional; existing consumers that only look atuser_idremain unaffected.Related issues
N/A
Security considerations
No auth or secret surface changes. The filter uses the existing authorized
logs endpoint; the display name rendered in the detail view is already stored
server-side and served under the same access controls as the rest of the log
row.
Checklist
docs/contributing/README.mdand followed the guidelines