litellm/ui/litellm-dashboard/src/components
ryan-crabbe-berri eda81fff59 feat(ui): shared URL-state layer for tables and tabs
Add useUrlTableState (search, sort, page, page size and filter_<column>
in the query string via one nuqs useQueryStates call, with keyPrefix and
urlKeys for routes that host two tables or need legacy key names) and
useUrlTab (validated ?tab= param with a role-aware fallback). Migrate
the Virtual Keys table onto useUrlTableState with a byte-identical URL
contract and bind the Playground tab strip to ?tab=.

DataTable gains controlled columnVisibility/onColumnVisibilityChange
plus usePersistedColumnVisibility (localStorage per table id), and an
isError prop that keeps the server page clamp from rewriting a
deep-linked ?page= after a failed fetch. Virtual Keys uses both.

The expired-session redirect in handleError now keeps the query string
and hash so the return URL captured on re-login restores the filtered
view instead of the bare list.

Delete useTabRouting and tabRoutes, the pathname tab router left over
from the reverted path-per-tab attempt (#34327, reverted in #34629);
tab persistence has to be a query param on the static export.
2026-09-16 15:51:45 -07:00
..
add_model fix(ui): simplify Capability and Fuse routing options 2026-09-15 20:58:38 -07:00
agent_management refactor(ui): migrate the remaining dashboard pages off antd (#37524) 2026-08-19 22:46:55 +00:00
agents refactor(ui): derive the dashboard object_permission type from the generated schema 2026-07-24 16:05:52 -07:00
AIHub feat(claude-code): accept https zip archive plugin sources for skills (#40496) 2026-09-10 14:25:42 -07:00
alerting feat(alerting): slack alerts for per-user daily/monthly spend thresholds and spend anomaly detection (#38438) 2026-09-01 15:09:03 -07:00
chat feat(mcp): start the named server's OAuth directly for a resource-scoped gateway flow (#39933) 2026-09-07 23:40:02 -07:00
chat_ui feat(ui): add custom request headers to the API Playground 2026-09-15 22:12:06 +00:00
claude_code_plugins fix(ui): keep http and upper-case https skill sources clickable on the detail page 2026-09-16 18:45:11 +00:00
CloudZeroCostTracking refactor(ui): install the shadcn field primitive (#38126) 2026-08-24 14:30:32 -07:00
common_components feat(auto-router): allow opted-in team members to manage their routers 2026-09-14 23:56:55 -07:00
DeletedKeysPage feat(proxy): expose lifetime total_spend on virtual keys 2026-09-16 09:42:20 +00:00
DeletedTeamsPage feat(ui): link the Organization and Deleted By cells on Deleted Teams (#40751) 2026-09-11 17:49:07 -07:00
edit_auto_router fix(ui): simplify Capability and Fuse routing options 2026-09-15 20:58:38 -07:00
email_events refactor(ui): codemod every toast call site onto lib/toast and delete the antd-era facades (#37253) 2026-08-18 18:24:49 +00:00
EntityUsageExport fix(ui): gate the usage export on range coverage, not on a fetch being in flight 2026-09-15 16:21:37 -07:00
guardrails fix(ui): render tag-based guardrail mode instead of crashing guardrails page 2026-08-19 18:22:31 +00:00
GuardrailsMonitor Revert "refactor(guardrails): rename scoped-out evaluation status from not_run to skipped" 2026-09-14 23:46:09 +00:00
key_team_helpers Merge pull request #41403 from BerriAI/litellm_key_total_spend 2026-09-16 14:49:02 -07:00
llm_calls Merge pull request #41282 from BerriAI/litellm_fast_mode_toggle_0915 2026-09-15 16:10:06 -07:00
mcp_server_management fix(ui): show inherited MCP servers on the internal user editor and flag access groups with no members (#40036) 2026-09-07 19:34:43 +00:00
mcp_tools fix(ui): label explicit empty tool selections 2026-09-11 19:16:09 -07:00
model_add fix(ui): preserve cleared shared select values (#40795) 2026-09-11 18:37:08 -07:00
model_dashboard refactor(ui): install the shadcn field primitive (#38126) 2026-08-24 14:30:32 -07:00
ModelSelect fix(ui): offer no models when an org team's ceiling never arrives 2026-09-14 21:35:55 +00:00
molecules test(ui): query the screen instead of the render result 2026-09-01 00:26:49 -07:00
Navbar refactor(ui): route the sidebar by pathname and shrink the ?page= shim to a redirect table 2026-09-05 16:44:11 -07:00
organisms feat(proxy): add tpd_limit (tokens per day) for batch submissions 2026-09-13 10:06:07 +00:00
organization fix(ui): reset member table filters per team and index org members once 2026-09-11 01:52:24 +00:00
PassThroughSettings fix(ui): surface the config-endpoint hint as visible menu text 2026-09-08 17:43:23 -04:00
permissions fix(ui): show indirectly granted and name-keyed MCP servers in the tool matrix (#35154) 2026-09-05 14:49:30 -07:00
policies Merge remote-tracking branch 'berri/litellm_internal_staging' into litellm_playground_shadcn 2026-08-13 11:28:42 -07:00
publicModelHub feat: page the public model hub table off /public/v1/model_hub, keeping every filter (#39691) 2026-09-03 22:36:16 -07:00
router_settings fix(ui): restore hover feedback and dark-mode variants lost in the token migration (#37579) 2026-08-19 22:52:36 -07:00
routing_groups chore: merge litellm_internal_staging into litellm_lit_4738_table_pagination 2026-09-05 10:08:11 -07:00
search_tools fix(ui): de-duplicate the reset budget option and polish shadcn surfaces 2026-08-15 00:33:20 -07:00
Settings fix(ui): preserve cleared shared select values (#40795) 2026-09-11 18:37:08 -07:00
shared feat(ui): shared URL-state layer for tables and tabs 2026-09-16 15:51:45 -07:00
SidebarAccountMenu fix(ui): restore hover feedback and dark-mode variants lost in the token migration (#37579) 2026-08-19 22:52:36 -07:00
skills feat(proxy): granular key/team access control for Claude Code marketplace plugins (#40518) 2026-09-10 14:26:09 -07:00
tag_management fix(budgets): preserve explicit reset interval clears 2026-09-12 13:43:55 -07:00
team feat(team): team-level model_max_budget with key-level overrides 2026-09-16 00:40:58 +00:00
TeamsPage Merge pull request #40656 from BerriAI/litellm_ui_table_search_pending_state 2026-09-12 14:49:24 -07:00
templates feat(proxy): expose lifetime total_spend on virtual keys 2026-09-16 09:42:20 +00:00
ThemeToggle fix(ui): make the theme toggle switch on one click and stop Docs looking dimmer than Blog 2026-08-27 18:05:04 -07:00
ToolPolicies fix(ui): restore hover feedback and dark-mode variants lost in the token migration (#37579) 2026-08-19 22:52:36 -07:00
ui test(ui): assert the resolved checkbox layout, not just data-orientation 2026-09-01 13:54:54 -04:00
UsagePage feat(ui): show average response time per model in usage model activity 2026-09-15 22:16:12 +00:00
vector_store_management refactor(ui): migrate guardrail and vector store forms to react-hook-form and shadcn (#37306) 2026-08-18 18:44:15 +00:00
view_logs test(ui): name the session column fixtures so the inline-object lint budget holds 2026-09-15 16:25:01 -07:00
view_model added and ran prettier autoformatter 2025-10-04 18:19:48 -07:00
VirtualKeysPage feat(ui): shared URL-state layer for tables and tabs 2026-09-16 15:51:45 -07:00
activity_metrics.test.tsx fix(ui): label the response time chart tooltip with the series name 2026-09-15 22:38:55 +00:00
activity_metrics.tsx fix(ui): label the response time chart tooltip with the series name 2026-09-15 22:38:55 +00:00
add_pass_through.integration.test.tsx test(ui): pick select options by role instead of by text 2026-09-01 12:42:27 -07:00
add_pass_through.tsx refactor(ui): map hardcoded Tailwind palette classes onto semantic tokens (#37576) 2026-08-19 22:11:44 -07:00
BetaBadge.test.tsx test(ui): assert presence and state so dashboard tests fail when behaviour breaks 2026-08-17 14:46:55 -07:00
BetaBadge.tsx refactor(ui): migrate router settings and shared badges off antd and tremor 2026-08-14 03:52:41 -07:00
bulk_create_users_button.test.tsx test(ui): query the screen instead of the render result 2026-09-01 00:26:49 -07:00
bulk_create_users_button.tsx fix(ui): give status colours a readable foreground and drop the muted 70% step (#37649) 2026-08-20 10:58:32 -07:00
callback_info_helpers.tsx feat(pointfive): add pointfive to the dashboard logging integrations 2026-09-10 14:02:35 +03:00
cloudzero_export_modal.integration.test.tsx refactor(ui): migrate the last antd components off antd onto shadcn (#37569) 2026-08-20 03:01:07 +00:00
cloudzero_export_modal.tsx refactor(ui): install the shadcn field primitive (#38126) 2026-08-24 14:30:32 -07:00
CodeBlock.tsx fix(ui): stop CodeBlock painting a hardcoded light background in dark mode 2026-08-29 10:15:05 -07:00
constants.tsx added and ran prettier autoformatter 2025-10-04 18:19:48 -07:00
CreateUserButton.test.tsx test(ui): assert the resolved checkbox layout, not just data-orientation 2026-09-01 13:54:54 -04:00
CreateUserButton.tsx fix(ui): preserve cleared shared select values (#40795) 2026-09-11 18:37:08 -07:00
DashboardHeader.test.tsx refactor(ui): route the sidebar by pathname and shrink the ?page= shim to a redirect table 2026-09-05 16:44:11 -07:00
DashboardHeader.tsx refactor(ui): route the sidebar by pathname and shrink the ?page= shim to a redirect table 2026-09-05 16:44:11 -07:00
DebugWarningBanner.test.tsx fix(ui): fetch version + debug flag from /health/readiness/details (#27896) 2026-05-13 20:33:23 -07:00
DebugWarningBanner.tsx refactor(ui): move the root-level dashboard components onto shadcn primitives 2026-08-14 06:52:06 -07:00
DeprecationBanner.test.tsx refactor(ui): migrate router settings and shared badges off antd and tremor 2026-08-14 03:52:41 -07:00
DeprecationBanner.tsx refactor(ui): migrate router settings and shared badges off antd and tremor 2026-08-14 03:52:41 -07:00
email_settings.test.tsx test(ui): drive fields with change events where the typing is not the behaviour (#37495) 2026-08-19 12:11:37 -07:00
email_settings.tsx refactor(ui): codemod every toast call site onto lib/toast and delete the antd-era facades (#37253) 2026-08-18 18:24:49 +00:00
EnvCredentialLoginWarningBanner.test.tsx fix(ui): make the env-credential login warning banner dismissible 2026-09-12 02:20:32 +00:00
EnvCredentialLoginWarningBanner.tsx fix(ui): make the env-credential login warning banner dismissible 2026-09-12 02:20:32 +00:00
GuardrailSettingsView.test.tsx refactor(ui): migrate guardrail and duration controls to shadcn (#36693) 2026-08-13 06:42:42 +00:00
GuardrailSettingsView.tsx refactor(ui): migrate guardrail and duration controls to shadcn (#36693) 2026-08-13 06:42:42 +00:00
HelpLink.test.tsx refactor(ui): drop unreferenced locals from tests and narrow destructures 2026-08-05 17:46:39 -07:00
HelpLink.tsx refactor(ui): replace hand-picked z-index values with one named scale and lint it 2026-08-25 17:02:35 -07:00
key_info_utils.test.tsx Add Tags To Edit Key Flow (#16500) 2025-11-11 17:44:29 -08:00
key_info_utils.tsx Add Tags To Edit Key Flow (#16500) 2025-11-11 17:44:29 -08:00
key_scope.test.ts fix(keys): persist key_type so the UI shows correct key scope instead of "All Proxy Models" (#33115) 2026-07-13 18:08:43 -07:00
key_scope.ts fix(keys): persist key_type so the UI shows correct key scope instead of "All Proxy Models" (#33115) 2026-07-13 18:08:43 -07:00
key_value_input.test.tsx fix(ui): clear pass-through header rows when the create modal is reopened (#37549) 2026-08-19 18:44:01 -07:00
key_value_input.tsx fix(ui): clear pass-through header rows when the create modal is reopened (#37549) 2026-08-19 18:44:01 -07:00
leftnav.test.tsx test(ui): query sidebar links by role so the testing-library budgets stay under their ceilings 2026-09-05 17:07:27 -07:00
leftnav.tsx refactor(ui): drop comments that restate the redirect table and home route 2026-09-05 16:50:20 -07:00
LicenseExpiryBanner.test.tsx refactor(ui): move the root-level dashboard components onto shadcn primitives 2026-08-14 06:52:06 -07:00
LicenseExpiryBanner.tsx refactor(ui): move the root-level dashboard components onto shadcn primitives 2026-08-14 06:52:06 -07:00
logging_settings_view.test.tsx test(ui): assert presence and state so dashboard tests fail when behaviour breaks 2026-08-17 14:46:55 -07:00
logging_settings_view.tsx fix(ui): give status colours a readable foreground and drop the muted 70% step (#37649) 2026-08-20 10:58:32 -07:00
model_filters.tsx feat(ui): add search to Agent Hub tab and admin agents table 2026-09-01 11:46:58 -07:00
model_group_alias_settings.tsx fix(ui): give status colours a readable foreground and drop the muted 70% step (#37649) 2026-08-20 10:58:32 -07:00
model_info_view.test.tsx fix(ui): show the team alias on the model info page and in its raw JSON 2026-09-13 09:21:09 +00:00
model_info_view.tsx feat(auto-router): allow opted-in team members to manage their routers 2026-09-14 23:56:55 -07:00
ModelInfoEditForm.tsx fix(ui): show the team alias on the model info page and in its raw JSON 2026-09-13 09:21:09 +00:00
MSTeamsSettings.tsx feat(alerting): add native Microsoft Teams alerting destination (#38367) 2026-08-27 16:19:22 -07:00
navbar.test.tsx feat(ui): add a light/dark/system theme toggle to the top bar (#37669) 2026-08-20 12:58:29 -07:00
navbar.tsx refactor(ui): route the sidebar by pathname and shrink the ?page= shim to a redirect table 2026-09-05 16:44:11 -07:00
networking.test.ts feat(ui): shared URL-state layer for tables and tabs 2026-09-16 15:51:45 -07:00
networking.tsx feat(ui): shared URL-state layer for tables and tabs 2026-09-16 15:51:45 -07:00
NoRedisWarningBanner.test.tsx feat(proxy): auto-suppress the no-Redis banner for confirmed single-worker deployments 2026-08-14 17:11:05 -07:00
NoRedisWarningBanner.tsx feat(proxy): auto-suppress the no-Redis banner for confirmed single-worker deployments 2026-08-14 17:11:05 -07:00
object_permission_types.ts refactor(ui): derive the dashboard object_permission type from the generated schema 2026-07-24 16:05:52 -07:00
object_permissions_view.tsx feat(proxy): granular key/team access control for Claude Code marketplace plugins (#40518) 2026-09-10 14:26:09 -07:00
onboarding_link.test.tsx revert(ui): keep the onboarding link modal on antd 2026-08-14 07:10:13 -07:00
onboarding_link.tsx refactor(ui): migrate the last antd components off antd onto shadcn (#37569) 2026-08-20 03:01:07 +00:00
page_metadata.ts test(ui): run vitest unit tests in GitHub Actions and fix stale key-info tests (#34175) 2026-07-21 16:23:43 -07:00
page_utils.test.ts style(ui): run prettier --write across the dashboard (#29622) 2026-06-04 11:37:54 -07:00
page_utils.ts style(ui): run prettier --write across the dashboard (#29622) 2026-06-04 11:37:54 -07:00
pass_through_info.integration.test.tsx refactor(ui): migrate pass-through, project and access group forms to react-hook-form and shadcn (#37354) 2026-08-18 14:05:23 -07:00
pass_through_info.tsx refactor(ui): map hardcoded Tailwind palette classes onto semantic tokens (#37576) 2026-08-19 22:11:44 -07:00
per_user_usage.test.tsx refactor(ui): drop the per-user usage page clamp now handled by the shared DataTable 2026-09-04 12:47:37 -07:00
per_user_usage.tsx refactor(ui): drop the per-user usage page clamp now handled by the shared DataTable 2026-09-04 12:47:37 -07:00
price_data_reload.test.tsx feat(cost_map): say on the card that Last run is deployment-wide while provenance is per worker 2026-09-07 19:06:30 -07:00
price_data_reload.tsx feat(cost_map): say on the card that Last run is deployment-wide while provenance is per worker 2026-09-07 19:06:30 -07:00
provider_info_helpers.test.tsx feat(ui): list the ChatGPT subscription provider in the Add Model form 2026-09-07 14:55:43 -07:00
provider_info_helpers.tsx fix(ui): preserve cleared shared select values (#40795) 2026-09-11 18:37:08 -07:00
public_model_hub.test.tsx feat: page the public model hub table off /public/v1/model_hub, keeping every filter (#39691) 2026-09-03 22:36:16 -07:00
public_model_hub.tsx chore: merge litellm_internal_staging into litellm_lit_4738_table_pagination 2026-09-04 05:39:32 +00:00
PublicModelHubTableColumns.tsx feat: page the public model hub table off /public/v1/model_hub, keeping every filter (#39691) 2026-09-03 22:36:16 -07:00
query_param_input.test.tsx fix(ui): clear pass-through header rows when the create modal is reopened (#37549) 2026-08-19 18:44:01 -07:00
query_param_input.tsx fix(ui): clear pass-through header rows when the create modal is reopened (#37549) 2026-08-19 18:44:01 -07:00
route_preview.test.tsx refactor(ui): migrate models-and-endpoints to shadcn (#36648) 2026-08-12 12:42:17 -07:00
route_preview.tsx refactor(ui): migrate models-and-endpoints to shadcn (#36648) 2026-08-12 12:42:17 -07:00
SCIM.test.tsx test(ui): drive fields with change events where the typing is not the behaviour (#37495) 2026-08-19 12:11:37 -07:00
SCIM.tsx refactor(ui): install the shadcn field primitive (#38126) 2026-08-24 14:30:32 -07:00
settings.test.tsx fix(ui): show the S3 label when editing the s3_v2 callback 2026-09-15 23:56:31 +00:00
settings.tsx fix(ui): show the S3 label when editing the s3_v2 callback 2026-09-15 23:56:31 +00:00
SidebarUsageCard.test.tsx fix(ui): keep semantic button colours on hover after the no-op hover cleanup (#37580) 2026-08-19 23:13:08 -07:00
SidebarUsageCard.tsx refactor(ui): move the dashboard onto class-variance-authority (#38125) 2026-08-24 14:10:31 -07:00
SSOModals.test.tsx refactor(ui): migrate SSO, SCIM and vault forms to react-hook-form and shadcn (#37347) 2026-08-18 14:30:17 -07:00
SSOModals.tsx refactor(ui): install the shadcn field primitive (#38126) 2026-08-24 14:30:32 -07:00
Teams.test.tsx feat(team): team-level model_max_budget with key-level overrides 2026-09-16 00:40:58 +00:00
Teams.tsx feat(team): team-level model_max_budget with key-level overrides 2026-09-16 00:40:58 +00:00
TeamSSOSettings.test.tsx test(ui): render TeamSSOSettings under a premium session so the organization dropdown tests fetch 2026-09-10 13:41:37 -07:00
TeamSSOSettings.tsx refactor(ui): codemod every toast call site onto lib/toast and delete the antd-era facades (#37253) 2026-08-18 18:24:49 +00:00
ToolDetail.test.tsx test(ui): pin mcp-servers, tag-management and tool-policies behaviour before the shadcn migration 2026-07-23 22:50:04 -07:00
ToolDetail.tsx refactor(ui): drop dead locals and unused React state across the dashboard 2026-08-05 18:07:17 -07:00
ToolPoliciesView.test.tsx feat(ui): add role capability gating, migrate Tool Policies route 2026-08-04 09:28:28 -07:00
ToolPoliciesView.tsx refactor(ui): map hardcoded Tailwind palette classes onto semantic tokens (#37576) 2026-08-19 22:11:44 -07:00
UIAccessControlForm.integration.test.tsx refactor(ui): migrate prompt, UI access, plugin and MCP filter forms to react-hook-form and shadcn (#37297) 2026-08-18 18:47:06 +00:00
UIAccessControlForm.tsx refactor(ui): install the shadcn field primitive (#38126) 2026-08-24 14:30:32 -07:00
UIAccessControlForm.unit.test.tsx refactor(ui): codemod every toast call site onto lib/toast and delete the antd-era facades (#37253) 2026-08-18 18:24:49 +00:00
update_model_credentials_modal.test.tsx test(ui): drive fields with change events where the typing is not the behaviour (#37495) 2026-08-19 12:11:37 -07:00
update_model_credentials_modal.tsx refactor(ui): install the shadcn field primitive (#38126) 2026-08-24 14:30:32 -07:00
user_agent_activity.test.tsx test(ui): assert presence and state so dashboard tests fail when behaviour breaks 2026-08-17 14:46:55 -07:00
user_agent_activity.tsx refactor(ui): map hardcoded Tailwind palette classes onto semantic tokens (#37576) 2026-08-19 22:11:44 -07:00
UserBanner.test.tsx feat(ui): add admin-configurable user banner (#35729) 2026-08-04 09:24:29 -07:00
UserBanner.tsx feat(ui): add admin-configurable user banner (#35729) 2026-08-04 09:24:29 -07:00
vector_store_providers.test.tsx feat: move MongoDB vector search to an optional sidecar 2026-09-07 23:02:27 -07:00
vector_store_providers.tsx fix: preserve MongoDB deadlines and secure remote sidecar transport 2026-09-07 23:43:21 -07:00
view_user_spend.tsx refactor(ui): replace hand-picked z-index values with one named scale and lint it 2026-08-25 17:02:35 -07:00