fix: bundle MiSans VF font (#24) + proxy modes & opt-in system CA (#20)#27
Merged
Conversation
The client shipped four fixed-weight MiSans subset files from the misans package, so any weight off those four steps — and font-weight interpolation — fell back to the OS font. Replace them with the full MiSans variable font (wght 100-900) as a single woff2, declared via @font-face in app.css. The family name stays "MiSans" so --font-sans resolves unchanged. Drop the now unused misans dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…tings (#20) Reverse-proxy tools (e.g. steamcommunity302) install a local root CA that Node does not trust, so GitHub connections fail with "unable to verify the first certificate". Add an opt-in "trust system certificates" toggle that merges the OS trust store into undici's CA set for GitHub requests only; off by default, following Node's default TLS behaviour. Also make proxy selection explicit. network.proxyMode ('none' | 'system' | 'custom') replaces the implicit null-cascade so users can force a direct connection or a custom URL; existing configs migrate (a set proxyUrl -> custom, otherwise -> system) with no behaviour change and no schemaVersion bump. Surface both through one shared network-settings component, mounted in a new Settings > Network tab and behind a labelled button on the login screen so a user behind a proxy can connect before authenticating. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This was referenced Jul 12, 2026
Closed
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.
Two related fixes to how the desktop client packages fonts and reaches GitHub.
#24 — MiSans VF variable font
The client shipped four fixed-weight MiSans subset files from the
misanspackage, so any weight off those four steps — and font-weight interpolation — fell back to the OS font.wght 100–900) as a single woff2, declared via@font-faceinapp.css."MiSans", so--font-sans/DEFAULT_UI_FONT_FAMILYresolve unchanged.misansdependency.#20 — Proxy modes + opt-in system CA
Reverse-proxy tools (e.g. steamcommunity302) install a local root CA that Node doesn't trust, so GitHub connections fail with
unable to verify the first certificate.network.proxyMode(none | system | custom) replaces the implicit null-cascade, so users can force a direct connection or a custom URL.proxyUrl→custom, otherwise →system) — no behaviour change, noschemaVersionbump.network-settingscomponent, mounted in:Transport threads a scoped
cathroughcreateGitHubApifor both the proxied (ProxyAgent) and direct (Agent) paths, covering device-flow login and all API calls.Validation
pnpm typecheck(full workspace) ✅pnpm --filter @oh-my-github/client build✅locales.test.ts(en/zh message compile) ✅UI uses only
@oh-my-github/uiprimitives + semantic tokens. The CA path is validated by types/build only — a real reverse-proxy + installed root CA still warrants a live check.Closes #24
Closes #20
🤖 Generated with Claude Code