Skip to content

fix(elements): respect explicit light class over os theme in persona - #468

Open
ephraimduncan wants to merge 1 commit into
vercel:mainfrom
ephraimduncan:fix/persona-light-theme-precedence
Open

fix(elements): respect explicit light class over os theme in persona#468
ephraimduncan wants to merge 1 commit into
vercel:mainfrom
ephraimduncan:fix/persona-light-theme-precedence

Conversation

@ephraimduncan

Copy link
Copy Markdown

On a dark-OS machine, an app that forces light mode with <html class="light"> could render a completely invisible Persona: dynamic-color variants (command, glint, halo, obsidian) painted the avatar white on a white page. Theme detection recognized an explicit .dark class but fell through to the OS media query when .light was set, so the OS preference silently overrode the app's choice — and the MutationObserver re-ran the same wrong precedence on every class change.

Explicit light/dark root classes now win in either direction; the media query applies only when neither class is present, and the SSR default remains light. Added regression tests for both explicit-class × OS-preference combinations plus the no-class media-query fallback; the light-class case fails without the fix (setRgb(255,255,255) instead of (0,0,0)).

@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

@ephraimduncan is attempting to deploy a commit to the Vercel Team on Vercel.

A member of the Team first needs to authorize it.

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

Labels

None yet

1 participant