Repository navigation
feat(theme): follow local desktop colors with a System theme - #10249
Open
joshistoast wants to merge 1 commit into
Open
joshistoast wants to merge 1 commit into
joshistoast wants to merge 1 commit into
Conversation
Read the active Omarchy palette on page load with native browser colors as fallback. Keep light and dark surfaces, action contrast, and theme previews aligned with the source palette.
Collaborator
Author
|
Gimmick feature, not very necessary but very cool |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a System theme in Appearance that follows the local server's active Omarchy palette and light/dark mode after refresh, with browser system colors as the fallback.
Preserve native surface shades and accents, keep text and actions readable, soften ordinary borders, and prevent Dark Reader from recoloring valid native palettes.
QA Instructions
From
invokeai/frontend/webv2:INVOKEAI_DESKTOP_THEME=0 pnpm check:releasepassed: 13,233 unit tests, 4,686 browser tests and one existing skip, fixtures, production/performance checks, project-file journeys, accessibility, and three-engine lifecycle smoke.pnpm buildpassed again, including formatting, lint, types and architecture checks. Focused System checks passed in Chromium, Firefox and WebKit (21/21), theme/UI checks passed (95/95), and token/pre-paint unit checks passed (14/14).From the repository root:
uv run --no-sync python -m pytest tests/app/api/test_frontend.py tests/app/api/test_trusted_route_guard.py --durations=5passed (48/48). Commit hooks passed Ruff checks and formatting.Interactive verification:
INVOKEAI_DESKTOP_THEME=1 pnpm dev:mockfrom the frontend package and select System in Appearance.These flows passed against real Ristretto/Rose Pine palette fixtures with an isolated Dark Reader profile and no page errors. Screenshots were captured locally; attachment upload was unavailable in this session.
Review
Resolved native-palette contrast issues in green/orange action labels and small secondary text, and verified that softer ordinary borders preserve high-contrast and focus/error cues. No known material findings remain.
Compatibility / Rollout
No API schema, dependency or saved-preference shape changes. Existing unknown-theme fallback handles older builds that do not recognize
system.The native palette belongs to the machine running the server; remote clients see that host's colors. Missing, unreadable or invalid local palettes use browser system colors. Vite's native integration is opt-in and never bakes a developer palette into production builds.
Checklist
What's Newcopy (if doing a release after this PR) — not a release PROpen in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.