From c41765f6846fe7b368c02e5a4b670375ad8134c7 Mon Sep 17 00:00:00 2001 From: Andrei Kirkouski Date: Thu, 6 Aug 2026 15:41:02 +0200 Subject: [PATCH 1/2] fix(facade): serve brand CSS variables to the shell before the host loads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The index page renders a `` overlay that paints before the Web Host bundle arrives, but nothing supplied the brand variables at that point — so it painted on the loader's built-in fallback colours and shifted once the host injected the real theme. Links `/api/public/facade/variables.css`, the endpoint the facade already ships and documents for exactly this ("non-Wippy-Host pages that need the same brand variables without embedding the full Web Host"). It is the same link the login page uses, so both pre-host surfaces now tone identically. Placed after `theme-persist.js`, which must stay first to set the theme class before paint, and before the loader script. Scope note: the endpoint emits the `css_variables` requirement only. An app whose brand tokens live in `custom_css` sees no change from this; it fixes the flash for apps that configure `--p-*` variables. Claude-Session: https://claude.ai/code/session_01XpA4dkMx2PhiW63aCeidcN --- src/facade/index.jet | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/facade/index.jet b/src/facade/index.jet index aeab7ab..f4ad766 100644 --- a/src/facade/index.jet +++ b/src/facade/index.jet @@ -8,6 +8,12 @@ window.wippyThemePersist. Render-blocking and first so there's no flash. In cookie mode the server already set the class on above. --> + + Wippy