mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-29 01:42:19 +00:00
* fix(ui): resolve created_by to human-readable name for team keys The team's Virtual Keys table rendered a raw UUID under Created By for keys created on behalf of a real user, and the key details page header showed "-" because it was reading the wrong field (user_email/user_id instead of created_by_user). - TeamVirtualKeysTable Created By column now prefers created_by_user.user_alias > user_email > UUID, with a Popover on hover that surfaces all three fields with copy icons (matches the existing AllKeys table pattern in VirtualKeysTable.tsx) - key_info_view passes the resolved created_by_user value to the details-page header so it renders the readable name Resolves LIT-2517 * fix(ui): add created_by to KeyResponse type The backend returns created_by on every key row, but the frontend type omitted it. The Created By cell already reads the field via info.row.original, which trips the production typecheck. * feat(ui): add Expires to key Overview header; merge User into one field The key details page header omitted Expires (only Settings tab had it) and showed User Email + User ID as two separate rows. This PR: - adds Expires below Created At, reusing the Settings tab's formatTimestamp(...) ?? "Never" formatting so both views agree - merges User Email / User ID into a single "User" field that displays alias / email / user_id (in that fallback order) with a Popover on hover exposing all three with copy icons — mirrors the Created By pattern in TeamVirtualKeysTable.tsx and VirtualKeysTable.tsx Refs LIT-2517 * chore(ui): User field icon + alias-primary test Address review feedback on #27696: - Swap MailOutlined → UserOutlined on the merged User cell; the envelope icon implied "this is an email" but the cell can render alias / email / user_id depending on what's available. - Add a test asserting userAlias displays as primary and overrides userEmail — closes the gap where a fallback-order regression would have silently passed. * fix(ui): truncate long User values and reshuffle header layout - Swap column groupings so Created By stays paired with Created At (matches the pre-merge layout); User and Expires now share col 1. - Ellipsis-truncate the visible User cell at maxWidth 200 so a raw UUID fallback doesn't sprawl. Full identity still revealed via the hover Popover. - Cap each Popover row at maxWidth 220 so a UUID truncates inside the panel too; antd's built-in ellipsis tooltip surfaces the full value. |
||
|---|---|---|
| .. | ||
| available_teams.test.tsx | ||
| available_teams.tsx | ||
| EditLoggingSettings.tsx | ||
| EditMembership.test.tsx | ||
| EditMembership.tsx | ||
| LoggingSettings.test.tsx | ||
| LoggingSettings.tsx | ||
| member_permissions.test.tsx | ||
| member_permissions.tsx | ||
| MyUserTab.tsx | ||
| permission_definitions.test.tsx | ||
| permission_definitions.tsx | ||
| tabVisibilityUtils.test.ts | ||
| tabVisibilityUtils.ts | ||
| TeamInfo.test.tsx | ||
| TeamInfo.tsx | ||
| TeamMemberTab.test.tsx | ||
| TeamMemberTab.tsx | ||
| TeamVirtualKeysTable.test.tsx | ||
| TeamVirtualKeysTable.tsx | ||
| useMyTeamMember.ts | ||