Hanzo AI e956f14f86 fix(console): the brand typeface never loaded in production — self-host it (8.5.26)
Every rule in the app asks for Geist. On live console.hanzo.ai `document.fonts.size`
was **0**: the two `@import url('https://cdn.jsdelivr.net/npm/geist@1.3.1/…')` were
refused by the browser as cross-origin (ERR_BLOCKED_BY_ORB), so every customer read
the entire product in system-ui. The import ORDER was already fixed once for this
same symptom — the remaining cause was the CDN itself, which is a dependency we do
not control sitting on our own critical render path.

Now served from public/fonts. One VARIABLE file per family spans weights 100-900, so
eighteen static cuts collapse to two requests (56K + 58K) and any weight the design
reaches for already exists — no second place to add a face.

Verified on the real `build:embed` export, not asserted: fonts 0 -> 2,
"Geist 100 900: loaded", document.fonts.check('16px Geist') true, woff2 served 200.
(Geist Mono reports unloaded on the landing page because nothing there sets mono —
correct lazy behaviour.)
2026-07-25 14:37:30 -07:00
2026-06-28 20:05:13 -07:00

console2

Hanzo Cloud Console

Unified admin console for Hanzo Cloud and all Hanzo cloud products. Built on @hanzo/gui (cross-platform UI) over the unified /v1 backend (hanzoai/cloud). Dark theme, OIDC sign-in via Hanzo IAM.

Manages: Providers · Models · Applications · Stores · Chat — with an extensible product-module registry so every cloud product can be added as a module.

Quick start

npm install
cp .env.example .env.local
# set NEXT_PUBLIC_IAM_CLIENT_ID for live sign-in; defaults point at production.
npm run dev          # http://localhost:4000

Scripts

Script What
npm run dev Dev server on :4000
npm run build Production build (type-checks; Gui CSS injected at runtime)
npm run start Serve the production build
npm run typecheck tsc --noEmit (strict)

Configuration

All config is NEXT_PUBLIC_* (browser app, cookie auth). See .env.example.

Var Default Meaning
NEXT_PUBLIC_CLOUD_URL https://cloud.hanzo.ai Unified /v1 backend base URL
NEXT_PUBLIC_IAM_URL https://iam.hanzo.ai Hanzo IAM OIDC authority
NEXT_PUBLIC_IAM_APP_NAME hanzo-console IAM application (<org>-<app>)
NEXT_PUBLIC_IAM_ORG_NAME hanzo IAM organization
NEXT_PUBLIC_IAM_CLIENT_ID OAuth client id

Architecture

See LLM.md for the full design (base choice, /v1 client, auth flow, the product-module registry, and the Providers surface). Endpoint reference in docs/endpoints.md.

License

BSD-3-Clause. Copyright (c) 2026-present, Hanzo AI, Inc.

S
Description
No description provided
Readme
92 MiB
Languages
TypeScript 99.1%
JavaScript 0.5%
CSS 0.4%