Authentication Flow
The authentication flow consists of three screens that gate access to the protected (main) route group.Screen Sequence
index.tsx — The Cold Start Screen
This is the atmospheric landing page shown on first launch. It performs a session check via authClient.useSession():- If session exists and user is at root (/): Immediately redirects to /(main)/commits via router.replace().
- If no session: Renders the branded onboarding view with Reanimated entrance animations (FadeInDown, ZoomIn, FadeInUp) and a primary “Initialize Session” button.
- Pathname guard: Redirect only fires when pathname === ”/”, preventing accidental stack resets when the app re-mounts from background while deep in sub-screens.