feat(web): use self-hosted Inter as Windows default font - #6151
feat(web): use self-hosted Inter as Windows default font#6151SlasshyOverhere wants to merge 3 commits into
Conversation
- Add @fontsource-variable/inter and gate it behind html.windows - Show Inter as the resolved default family on Windows in settings
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f2453af. Configure here.
ApprovabilityVerdict: Approved fa60f14 This PR adds a self-hosted Inter font as the default for Windows users. Changes are limited to typography/appearance with test coverage included. No core logic or security implications - purely visual enhancement. You can customize Macroscope's approvability policy. Learn more. |
Custom interface fonts and the settings default label now use the Windows Inter stack on Windows. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

What Changed
Self-host Inter (variable font) and use it for the Windows UI:
@fontsource-variable/inter(bundled, no CDN, works offline in Electron).windowsclass on<html>, set pre-paint inindex.html, so only Windows renders Inter. macOS/Linux keep the system default stack untouched.--font-sanson Windows becomes"Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif. Segoe UI stays as the fallback, so a load failure degrades cleanly.--font-sansinline, which overrides the stylesheet.Why
The Windows default UI font (Segoe UI) renders poorly in this app and looks bad . Inter is a first-party quality UI font, and the macOS/Linux defaults (SF Pro / system-ui) already look good, so the change is scoped to Windows only. Self-hosting keeps it offline-capable and consistent across installs instead of depending on a CDN.
UI Changes
Before (Windows, Segoe UI) :
After (Windows, Inter) :
Checklist
Note
Low Risk
Scoped to Windows UI sans typography and appearance CSS variables; no auth, data, or business-logic changes. Slight bundle size increase from the self-hosted font.
Overview
Windows-only default UI typography now prefers bundled Inter Variable instead of Segoe UI, while macOS and Linux keep the existing system stacks.
The PR adds
@fontsource-variable/interand loads it frommain.tsx. Pre-paint boot code inindex.htmladds awindowsclass on<html>whennavigator.platformlooks like Windows;index.cssuses that to set--font-sanswith Inter first and Segoe UI still in the fallback chain.Runtime appearance wiring in
appearanceFonts.tsintroducesWINDOWS_SANS_FONT_STACKand makesapplyAppearanceFontVariablesprepend custom interface fonts to that stack on Windows so user picks in Settings stay consistent with the CSS default. The interface font picker labels the unset default as Inter Variable on Windows when probing cannot see the webfont yet. Code/mono and terminal fonts are unchanged.Reviewed by Cursor Bugbot for commit f055535. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Use self-hosted Inter Variable as the default sans-serif font on Windows
navigator.platformand adds awindowsclass to<html>, which triggers anInter Variablefont stack in both the CSS defaults and the--font-sansCSS variable.@fontsource-variable/interin main.tsx.useFontDefaultFamiliesin SettingsPanels.tsx to show 'Inter Variable' as the default sans label on Windows.Macroscope summarized f055535.