From c8c38b6cd248c70507d80b7da3c67ac0dc07ae43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Bosi?= <71827178+bosiraphael@users.noreply.github.com> Date: Thu, 9 Jul 2026 15:32:58 +0200 Subject: [PATCH] Fix onboarding entry animations not triggering on first load (#22724) The staggered entry animations on the onboarding welcome/sign-in and sync-emails screens sometimes didn't play on first load, though a refresh reliably fixed them. Root cause: `OnboardingTransitionOutlet` wrapped pages in ``. framer-motion propagates that `initial: false` through `PresenceContext` to every descendant motion component on the outlet's first render, so any `OnboardingStepAnimatedItem` that mounts during that first commit snaps straight to its final state instead of animating. Because onboarding pages are preloaded (`lazyWithPreload`), a warm in-app navigation renders the page synchronously in that first commit and the cascade is suppressed; a cold load/refresh mounts it a commit later via Suspense, so it animates. Fix: drop `initial={false}`. Descendants no longer inherit a blocked initial state, so the cascade animates regardless of preload timing. The page-level fade now also runs on first entry, matching the treatment already used on every step-to-step transition and cold load. Review in cubic --- .../onboarding/components/OnboardingTransitionOutlet.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/twenty-front/src/modules/onboarding/components/OnboardingTransitionOutlet.tsx b/packages/twenty-front/src/modules/onboarding/components/OnboardingTransitionOutlet.tsx index b88b75043a..86b1b2b9ae 100644 --- a/packages/twenty-front/src/modules/onboarding/components/OnboardingTransitionOutlet.tsx +++ b/packages/twenty-front/src/modules/onboarding/components/OnboardingTransitionOutlet.tsx @@ -29,7 +29,7 @@ export const OnboardingTransitionOutlet = () => { return ( - +