mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-16 06:03:26 -05:00
[PR #24383] [CLOSED] fix(rebrand): repair broken light mode and incomplete font skin #66486
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/24383
Author: @l3aconator
Created: 5/5/2026
Status: ❌ Closed
Base:
main← Head:fix/light-mode-skin📝 Commits (10+)
a818db3Enable 4GB Node heap for frontend build82e8b5aAdd /approve PR bot workflow653eb9fMerge pull request #1 from swept-ai/fix/dockerfile-node-heap-size1af5ad9Merge pull request #2 from swept-ai/chore/pr-approve-boted9d688Add CLAUDE.md to orient agents in this repoc568e61Merge branch 'open-webui:main' into main878fad1Merge pull request #3 from swept-ai/docs/claude-md78a83e3Fix frontend build CI heap and remove unused release workflowscbbd2e5Apply prettier formatting to CLAUDE.md0a7ddabMerge pull request #4 from swept-ai/ci/fix-frontend-build-and-prune-workflows📊 Changes
52 files changed (+1155 additions, -1091 deletions)
View changed files
📝
.env.example(+15 -1)➖
.github/workflows/build-release.yml(+0 -61)➖
.github/workflows/docker-build.yaml(+0 -917)📝
.github/workflows/format-build-frontend.yaml(+2 -0)➕
.github/workflows/pr-approve-bot.yml(+76 -0)➖
.github/workflows/release-pypi.yml(+0 -36)📝
.gitignore(+6 -1)➕
CLAUDE.md(+71 -0)📝
Dockerfile(+1 -1)📝
docker-compose.yaml(+10 -0)➕
docs/integrations/vertex-ai.md(+220 -0)➕
plugins/functions/README.md(+78 -0)➕
plugins/functions/vertex_chat.py(+268 -0)➕
scripts/vertex-impersonate.sh(+79 -0)📝
src/app.css(+10 -4)📝
src/app.html(+1 -1)📝
src/lib/components/admin/Evaluations.svelte(+2 -2)📝
src/lib/components/admin/Settings.svelte(+1 -1)📝
src/lib/components/admin/Settings/Models/ManageModelsModal.svelte(+2 -2)📝
src/lib/components/admin/Settings/Models/ModelSettingsModal.svelte(+2 -2)...and 32 more files
📄 Description
Summary
The Swept rebrand (#5) used
\!important(literal backslash before!important) instatic/static/custom.css, which is invalid CSS. CSS custom properties stored the value as the literal string"#020617 \!important", so everybg-gray-*andborder-color: var(--color-gray-*)lookup expanded to invalid CSS and got dropped — silently breaking light mode.Reported symptoms:
currentColor(the text color) when their var lookup was invalid.bg-gray-950resolved to invalid → transparent. Tippy's basecolor: whitewas preserved..font-primary(Archivo) and.font-secondary(InstrumentSerif) were never repointed during the rebrand.text-gray-300= slate-300#cbd5e1on white).Changes
static/static/custom.css—\!important→!important(15 spots: 12 color vars + 2 font vars + 1 comment). Single-typo fix that unblocks the entire slate palette and font cascade.src/app.css— make tooltips theme-aware per request. Split the single.tippy-box[data-theme~='dark']rule intohtml.dark(gray-950 bg, white text) andhtml:not(.dark)(white bg, slate-900 text, slate-200 border) variants. Tippy portals into<body>, which inheritshtml.dark. No JS changes needed (~1,200 tooltip call sites untouched).src/app.css— repoint.font-primary→ Red Hat Text and.font-secondary→ Red Hat Display. Verified 930 of 939 leaf text elements on the chat page now resolve to Red Hat Text (rest are mono — code blocks, etc.).text-gray-300 dark:text-gray-600totext-gray-500 dark:text-gray-600(66 occurrences). Slate-500 (#64748b) is clearly readable on white but still subordinate to active items. Dark mode unchanged.Verification
Performed live in browser via Playwright against
npm run dev+ theopen-webuiDocker container rebound to:8080:--color-gray-200resolves"#e2e8f0 \!important"(string garbage)#e2e8f0rgb(15,23,42)text, slate-200 border, Red Hat Textrgb(203,213,225)(slate-300, illegible on white)rgb(100,116,139)(slate-500, readable)rgb(51,65,85)(slate-700, darker than inactive — good hierarchy)Toured
/auth,/, user menu, Settings modal,/admin/settings/general,/admin/settings/connections,/admin/usersin both light and dark.Test plan
npm run dev+ start a backend on:8080, openhttp://127.0.0.1:5173/admin/users— Analytics/Evaluations/Functions/Settings tabs and Groups sidebar item are clearly readable🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.