From 5e5e305bb7bf20eb7d068857d5186c1fbd7d853a Mon Sep 17 00:00:00 2001 From: usrnk1 <7547651+usrnk1@users.noreply.github.com> Date: Mon, 13 Jul 2026 14:40:32 +0200 Subject: [PATCH] fix(app): avoid layout flash during cohort detection --- packages/app/src/app.tsx | 58 ++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx index a22ee59dcf..d690f4dbb0 100644 --- a/packages/app/src/app.tsx +++ b/packages/app/src/app.tsx @@ -289,7 +289,7 @@ function layoutClassificationRequest(promise: Promise, onTimeout: () => vo }) } -function LayoutTransitionClassifier() { +function LayoutTransitionGate(props: ParentProps) { const settings = useSettings() const server = useServer() const global = useGlobal() @@ -358,8 +358,8 @@ function LayoutTransitionClassifier() { ) void layoutClassificationRequest( Promise.all([ - client.project.list(undefined, { signal: abort.signal }), - client.session.list({ limit: 1 }, { signal: abort.signal }), + client.project.list(undefined, { signal: abort.signal, throwOnError: true }), + client.session.list({ limit: 1 }, { signal: abort.signal, throwOnError: true }), wsl, ]), () => abort.abort(), @@ -383,7 +383,18 @@ function LayoutTransitionClassifier() { }) }) - return null + return ( + + + + } + > + {props.children} + + ) } // Server-agnostic providers shared across every route. These live in the shared @@ -671,25 +682,26 @@ export function AppInterface(props: { - - - ( - - - - - {routerProps.children} - - - - - )} - > - - - + + + ( + + + + + {routerProps.children} + + + + + )} + > + + + +