Skip to content

chore(admin-ui): regenerate static export with trailingSlash: true#28112

Open
mateo-berri wants to merge 1 commit into
litellm_internal_stagingfrom
litellm_rebuild_admin_ui_static_export
Open

chore(admin-ui): regenerate static export with trailingSlash: true#28112
mateo-berri wants to merge 1 commit into
litellm_internal_stagingfrom
litellm_rebuild_admin_ui_static_export

Conversation

@mateo-berri
Copy link
Copy Markdown
Collaborator

@mateo-berri mateo-berri commented May 17, 2026

Relevant issues

Stacked under #28106. Split out of that PR so the source change and regression test can be reviewed without 800+ build-artifact diffs in the way.

Linear ticket

N/A

Pre-Submission checklist

  • I have added meaningful tests
  • My PR passes all unit tests on make test-unit
  • My PR's scope is as isolated as possible; it only solves 1 specific problem
  • I have requested a Greptile review by commenting @greptileai and received a Confidence Score of at least 4/5 before requesting a maintainer review

CI (LiteLLM team)

  • Branch creation CI run; Link:
  • CI run for the last commit; Link:
  • Merge / cherry-pick CI run; Links:

Screenshots / Proof of Fix

The proof of fix lives in the source PR #28106; this PR is purely the rebuilt litellm/proxy/_experimental/out/ artifact that the source PR depends on. Once both land, the curl and browser flow shown in #28106 produces the same result against the deployed image.

The artifact was regenerated by running npm run build inside ui/litellm-dashboard (with trailingSlash: true applied locally per #28106's diff) and copying ./out/. into litellm/proxy/_experimental/out/. Every previously top-level <name>.html is now under <name>/index.html; the only top-level HTML files left are index.html and 404.html, which Next.js requires by those exact names.

Type

Infrastructure

Changes

Regenerated litellm/proxy/_experimental/out/ from the dashboard build with trailingSlash: true so every nested route lives at <dir>/index.html. No source code changes in this PR; the config change, Dockerfile cleanup, and regression test are in the stacked source PR.


Note

Medium Risk
Large build-artifact-only update that changes the on-disk routing shape (moves pages to */index.html) and revs hashed asset filenames/build IDs; main risk is broken dashboard routing or missing assets at runtime.

Overview
Regenerates the dashboard static export under litellm/proxy/_experimental/out/ with trailing-slash output, so nested routes are emitted as directories containing index.html (e.g., adds 404/index.html) while keeping required top-level files like 404.html.

This refresh also updates Next.js export metadata (__next.*.txt), build IDs, and hashed _next/static asset filenames/chunks to match the new build output.

Reviewed by Cursor Bugbot for commit 8757b86. Bugbot is set up for automated code reviews on this repo. Configure here.

Rebuilds litellm/proxy/_experimental/out/ from ui/litellm-dashboard with
`trailingSlash: true` enabled in next.config.mjs. Next.js now emits every
route as <dir>/index.html (e.g. mcp/oauth/callback/index.html) instead of
<dir>.html with a sibling metadata-only directory, which fixes the 404 on
extensionless URLs served through FastAPI's StaticFiles(html=True) mount.

This is the build artifact half of the fix; the config change, Dockerfile
cleanup, and regression test live in the follow-up source PR that stacks
on top of this branch.
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 17, 2026

Too many files changed for review. (801 files found, 100 file limit)

@codecov
Copy link
Copy Markdown

codecov Bot commented May 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant