Skip to content

fix(k8s): serve the LiteLLM dashboard favicon - #98

Merged
jcschaff merged 1 commit into
mainfrom
fix/litellm-ui-favicon
Aug 12, 2026
Merged

fix(k8s): serve the LiteLLM dashboard favicon#98
jcschaff merged 1 commit into
mainfrom
fix/litellm-ui-favicon

Conversation

@jcschaff

Copy link
Copy Markdown
Member

Follow-up to #97 — the last cosmetic wart on /kartik. The dashboard requested its favicon at an absolute /get_favicon, which escaped the prefix and hit the Next.js frontend, leaving the tab icon blank.

Why it wasn't prefixed. LiteLLM's startup pass rewrites only paths built under its asset prefix, "/litellm-asset-prefix" (proxy_server.py:1711). That's why the 40 _next chunks came out correctly as /kartik/_next/... while this one didn't. LITELLM_FAVICON_URL is not a fix — it changes what /get_favicon serves, not the unprefixed href in the HTML.

/kartik/get_favicon already returns a valid icon (200, image/x-icon, 6.4 KB), so it only needed to be reachable at the path the UI actually asks for. Exact-match rule to litellm; the name is LiteLLM-specific, so no frontend route is shadowed, and reaching LiteLLM unprefixed is fine because root_path only strips /kartik when it's actually present.

Deliberately not touching /favicon.ico. The UI references that too, but it's the main site's icon path — hijacking it would put the LiteLLM icon on all of VCell-AI. It 404s for the frontend today, which is a pre-existing gap unrelated to /kartik.

Config-only, no image bump.

🤖 Generated with Claude Code

https://claude.ai/code/session_0174W6CHp7FMt7c9sKdBhbp1

The dashboard requests its favicon at an absolute /get_favicon, which escaped
the /kartik prefix and hit the Next.js frontend, so the tab icon was blank.

LiteLLM's startup pass only rewrites asset paths built under its asset prefix
("/litellm-asset-prefix", proxy_server.py:1711) -- that's why the _next chunks
came out as /kartik/_next/... while this href did not. LITELLM_FAVICON_URL
doesn't help: it changes what /get_favicon serves, not the unprefixed href in
the HTML.

Route the exact path to litellm instead. The name is LiteLLM-specific so no
frontend route is shadowed, and reaching LiteLLM unprefixed is fine because
root_path only strips /kartik when it is actually present.

Leaves /favicon.ico alone -- that is the main site's icon path, and hijacking it
would put the LiteLLM icon on all of VCell-AI. It 404s for the frontend today,
which is a pre-existing gap unrelated to /kartik.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0174W6CHp7FMt7c9sKdBhbp1
@jcschaff
jcschaff merged commit 4e5e4af into main Aug 12, 2026
1 check passed
@jcschaff
jcschaff deleted the fix/litellm-ui-favicon branch August 12, 2026 18:50
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