Skip to content

feat: add theme preference (system/dark/light)#116

Closed
baptisteArno wants to merge 6 commits intoDimillian:mainfrom
baptisteArno:theme-preference
Closed

feat: add theme preference (system/dark/light)#116
baptisteArno wants to merge 6 commits intoDimillian:mainfrom
baptisteArno:theme-preference

Conversation

@baptisteArno
Copy link
Copy Markdown
Contributor

@baptisteArno baptisteArno commented Jan 19, 2026

CleanShot.2026-01-19.at.10.58.45.mp4
  • Add theme preference to settings persistence and UI
  • Resolve system theme and apply explicit theme class for consistent styling
  • Align diff viewer syntax theme with the selected app theme

Decisions:

  • Resolve system theme in JS (matchMedia) so CSS only needs one light palette block, avoiding duplicate @media + theme overrides.
  • Add an app-level backdrop token to prevent OS appearance from bleeding through when forcing a theme.

@Dimillian Dimillian changed the title Add theme preference (system/dark/light) feat: add theme preference (system/dark/light) Jan 19, 2026
@Dimillian
Copy link
Copy Markdown
Owner

Hmm completely removed transparency for me when I checked out this PR

@baptisteArno
Copy link
Copy Markdown
Contributor Author

Ok let me investigate

@baptisteArno
Copy link
Copy Markdown
Contributor Author

Do you confirm you have Reduce transparency off? And if you change that setting, you still can't see any transparency?

@Dimillian
Copy link
Copy Markdown
Owner

Yes I have it off and checking out your PR basically keep it off, but set the window background to be much darker almost like it's on?
On your PR

Screenshot 2026-01-19 at 12 30 34 PM

On Main

Screenshot 2026-01-19 at 12 31 08 PM

@baptisteArno
Copy link
Copy Markdown
Contributor Author

Thanks for this, indeed I could reproduce and fix it 🙏

@Dimillian
Copy link
Copy Markdown
Owner

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9a350029ed

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +106 to +108
.app.theme-light {
--text-primary: #1a1d24;
--text-strong: #0e1118;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Apply light-theme variables outside the .app tree

The light theme variables are now scoped to .app.theme-light, which means any UI rendered outside the .app subtree will keep the dark defaults from :root. This shows up in portals like the workspace add menu (Sidebar.tsx uses createPortal(..., document.body)), which are no longer descendants of .app. When a user selects the light theme (or system is light), these popovers still render with dark colors, creating a mixed theme. Consider applying the theme class to body/:root or moving the light overrides there so portals inherit the correct variables.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@baptisteArno
Copy link
Copy Markdown
Contributor Author

Requires deeper changes to make it work with native Window Vibrancy. Will open a new one.

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.

2 participants