Skip to content

Self-host Geist fonts - #1963

Merged
RhysSullivan merged 2 commits into
mainfrom
self-host-fonts
Sep 8, 2026
Merged

Self-host Geist fonts#1963
RhysSullivan merged 2 commits into
mainfrom
self-host-fonts

Conversation

@RhysSullivan

Copy link
Copy Markdown
Collaborator

The console loaded Geist and Geist Mono through a synchronous stylesheet from fonts.googleapis.com. On a self-hosted deployment that cannot reach Google, the UI stayed blank until that request timed out, even though the app, assets, and API were healthy.

  • Vendor the Geist and Geist Mono variable faces (from the geist npm package, SIL OFL) under packages/react/src/styles/fonts/ and declare them once in the shared globals.css with font-display: swap. Vite emits them as content-hashed assets next to the rest of the build.
  • Remove the Google Fonts preconnect and stylesheet links from every entry document (self-host, Cloudflare host, app, onboarding demo) and the cloud root route.
  • Add a test that pins the local @font-face declarations and fails if any entry document references fonts.googleapis.com or fonts.gstatic.com.

Verified against a production self-host build with both Google Fonts hosts stalled indefinitely in Playwright: first-run setup and sign-in rendered in about 150 ms, both flows completed, Geist and Geist Mono reported loaded from the local assets, and zero requests left for the Google hosts.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 7, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
executor-cloud b59323a Sep 08 2026, 05:18 AM

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 7, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
executor-marketing b59323a Commit Preview URL

Branch Preview URL
Sep 08 2026, 05:18 AM

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Cloudflare preview

Torn down — the PR is closed.

@pkg-pr-new

pkg-pr-new Bot commented Sep 7, 2026

Copy link
Copy Markdown

Open in StackBlitz

@executor-js/codemode-core

npm i https://pkg.pr.new/@executor-js/codemode-core@1963

@executor-js/runtime-quickjs

npm i https://pkg.pr.new/@executor-js/runtime-quickjs@1963

@executor-js/cli

npm i https://pkg.pr.new/@executor-js/cli@1963

@executor-js/config

npm i https://pkg.pr.new/@executor-js/config@1963

@executor-js/execution

npm i https://pkg.pr.new/@executor-js/execution@1963

@executor-js/sdk

npm i https://pkg.pr.new/@executor-js/sdk@1963

@executor-js/plugin-file-secrets

npm i https://pkg.pr.new/@executor-js/plugin-file-secrets@1963

@executor-js/plugin-graphql

npm i https://pkg.pr.new/@executor-js/plugin-graphql@1963

@executor-js/plugin-keychain

npm i https://pkg.pr.new/@executor-js/plugin-keychain@1963

@executor-js/plugin-mcp

npm i https://pkg.pr.new/@executor-js/plugin-mcp@1963

@executor-js/plugin-onepassword

npm i https://pkg.pr.new/@executor-js/plugin-onepassword@1963

@executor-js/plugin-openapi

npm i https://pkg.pr.new/@executor-js/plugin-openapi@1963

executor

npm i https://pkg.pr.new/executor@1963

commit: b59323a

@RhysSullivan
RhysSullivan marked this pull request as ready for review September 8, 2026 05:19
@RhysSullivan
RhysSullivan merged commit eaa1f3a into main Sep 8, 2026
44 checks passed
@RhysSullivan
RhysSullivan deleted the self-host-fonts branch September 8, 2026 05:19
@RhysSullivan RhysSullivan mentioned this pull request Sep 8, 2026
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