From 7aa2b2d64622466a7334246f56a2f760fb797737 Mon Sep 17 00:00:00 2001 From: Rhys Sullivan <39114868+RhysSullivan@users.noreply.github.com> Date: Mon, 7 Sep 2026 15:29:47 -0700 Subject: [PATCH 1/2] Self-host Geist fonts instead of loading them from Google Fonts --- .changeset/self-hosted-fonts.md | 5 + apps/cloud/src/routes/__root.tsx | 6 -- apps/host-cloudflare/web/index.html | 6 -- apps/host-selfhost/web/index.html | 6 -- packages/app/index.html | 6 -- packages/onboarding-demo/index.html | 6 -- packages/react/src/styles/fonts.test.ts | 44 +++++++++ packages/react/src/styles/fonts/LICENSE.txt | 92 ++++++++++++++++++ .../react/src/styles/fonts/geist-mono.woff2 | Bin 0 -> 71368 bytes .../react/src/styles/fonts/geist-sans.woff2 | Bin 0 -> 69652 bytes packages/react/src/styles/globals.css | 25 +++++ 11 files changed, 166 insertions(+), 30 deletions(-) create mode 100644 .changeset/self-hosted-fonts.md create mode 100644 packages/react/src/styles/fonts.test.ts create mode 100644 packages/react/src/styles/fonts/LICENSE.txt create mode 100644 packages/react/src/styles/fonts/geist-mono.woff2 create mode 100644 packages/react/src/styles/fonts/geist-sans.woff2 diff --git a/.changeset/self-hosted-fonts.md b/.changeset/self-hosted-fonts.md new file mode 100644 index 0000000000..4d8e025451 --- /dev/null +++ b/.changeset/self-hosted-fonts.md @@ -0,0 +1,5 @@ +--- +"executor": patch +--- + +Bundle the Geist and Geist Mono fonts with the console instead of loading them from Google Fonts. The UI no longer stays blank when a self-hosted deployment cannot reach fonts.googleapis.com. diff --git a/apps/cloud/src/routes/__root.tsx b/apps/cloud/src/routes/__root.tsx index 7f141e6072..1c0f8b8a10 100644 --- a/apps/cloud/src/routes/__root.tsx +++ b/apps/cloud/src/routes/__root.tsx @@ -116,12 +116,6 @@ export const Route = createRootRoute({ { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicon-32.png" }, { rel: "icon", type: "image/png", sizes: "192x192", href: "/favicon-192.png" }, { rel: "apple-touch-icon", sizes: "180x180", href: "/apple-touch-icon.png" }, - { rel: "preconnect", href: "https://fonts.googleapis.com" }, - { rel: "preconnect", href: "https://fonts.gstatic.com", crossOrigin: "anonymous" }, - { - rel: "stylesheet", - href: "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;700&display=swap", - }, { rel: "stylesheet", href: appCss }, ], }), diff --git a/apps/host-cloudflare/web/index.html b/apps/host-cloudflare/web/index.html index df417e4c33..82e1575dc3 100644 --- a/apps/host-cloudflare/web/index.html +++ b/apps/host-cloudflare/web/index.html @@ -8,12 +8,6 @@ Executor - - -
diff --git a/apps/host-selfhost/web/index.html b/apps/host-selfhost/web/index.html index b3260fdb8d..1d82586ac9 100644 --- a/apps/host-selfhost/web/index.html +++ b/apps/host-selfhost/web/index.html @@ -8,12 +8,6 @@ Executor (self-hosted) - - -
diff --git a/packages/app/index.html b/packages/app/index.html index 4255a12a78..b9ba153f8d 100644 --- a/packages/app/index.html +++ b/packages/app/index.html @@ -8,12 +8,6 @@ Executor - - -