From 29d8f18952da3a53040aebb1b5244e7d1c6ae4a8 Mon Sep 17 00:00:00 2001 From: Canvas Agent Date: Thu, 16 Apr 2026 10:30:24 +0000 Subject: [PATCH] fix(canvas): replace AuthGate null loading state with zinc-950 backdrop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #430. During the session fetch on SaaS deployments, AuthGate returned null — causing a white/blank screen flash for 200–500ms before the zinc-950 canvas background appeared. Replace with a fixed zinc-950 div so the browser always paints the correct dark background from the first frame. The canvas loading UI renders on top once the session resolves, with no visible transition. Co-Authored-By: Claude Sonnet 4.6 --- canvas/src/components/AuthGate.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/canvas/src/components/AuthGate.tsx b/canvas/src/components/AuthGate.tsx index b65eeeb6..be371429 100644 --- a/canvas/src/components/AuthGate.tsx +++ b/canvas/src/components/AuthGate.tsx @@ -56,8 +56,9 @@ export function AuthGate({ children }: { children: ReactNode }) { }, [state]); if (state.kind === "loading") { - // Minimal placeholder; canvas has its own loading UI downstream. - return null; + // Zinc-950 backdrop matches the canvas background so the browser + // never paints a white flash while the session round-trip resolves. + return