Skip to content

fix(ui): quote multi-word font families — one bare digit killed the whole stack#12

Merged
Exploitacious merged 1 commit into
masterfrom
fix/font-family-quoting
Jul 20, 2026
Merged

fix(ui): quote multi-word font families — one bare digit killed the whole stack#12
Exploitacious merged 1 commit into
masterfrom
fix/font-family-quoting

Conversation

@Exploitacious

Copy link
Copy Markdown
Owner

Root cause of both field reports ("JetBrains Mono isn't rendering" + "emoji completely blank"): Tailwind emits fontFamily entries verbatim, and unquoted Noto Sans Symbols 2 ends in a bare digit — not a valid CSS identifier — which invalidates the entire font-family declaration. Chromium drops it silently: UI falls back to the default font, nothing references the emoji family, so the emoji font never loads → blank. This poisoned the stack in every build since the symbols font was added (#9), which is why each emoji-font flavor change appeared to fail in the field while isolated probes (hand-written, quoted CSS) passed.

Fix: quote the multi-word families in tailwind.config.js + a comment documenting the trap.

Verified against the real built app under xvfb on a fontless machine: body computes the JBM stack, faces load, and the screenshot shows JetBrains Mono + full-color 🧭🐣✅ in the actual UI.

Gate green: lint · typecheck · 121 tests · build.

… 2" killed the whole stack

Tailwind emits fontFamily entries verbatim into CSS. "Noto Sans Symbols 2"
unquoted ends in a bare digit, which is not a valid CSS identifier — making
the ENTIRE font-family declaration invalid, silently dropped by Chromium.
Consequences since the stack gained that entry: the UI fell back to the
browser default font (so JetBrains Mono never showed), and because nothing
referenced the emoji family anymore, the bundled emoji font never loaded —
emoji rendered blank regardless of font flavor.

Families needing quotes now carry them in tailwind.config.js, with a comment
explaining the trap. Verified against the real built app under xvfb on a
machine with no fonts installed: body computes the JetBrains Mono stack, the
latin subset loads, and a screenshot shows JBM glyphs plus full-color emoji
in the actual UI.

Gate green: lint, typecheck, 121 tests, build.
@Exploitacious
Exploitacious merged commit 1eeccab into master Jul 20, 2026
1 check passed
@Exploitacious
Exploitacious deleted the fix/font-family-quoting branch July 20, 2026 17:33
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