Problem
The sign-in form passes a server action directly to the �ction prop without wrapping it in a client-side try/catch or using useActionState.
Why it matters
If the OAuth provider fails or goes down, the application will throw an unhandled runtime error overlaying the screen instead of displaying a friendly toast message.
Suggested Solution
Use React's useActionState to track the pending state and error payload.
Severity
High
Category
Bug
Estimated Difficulty
Medium
Files
src/components/landing/LandingContent.tsx`n
Evidence
// src/components/landing/LandingContent.tsx:65
<form action={signInAction}>
Problem
The sign-in form passes a server action directly to the �ction prop without wrapping it in a client-side try/catch or using useActionState.
Why it matters
If the OAuth provider fails or goes down, the application will throw an unhandled runtime error overlaying the screen instead of displaying a friendly toast message.
Suggested Solution
Use React's useActionState to track the pending state and error payload.
Severity
High
Category
Bug
Estimated Difficulty
Medium
Files
src/components/landing/LandingContent.tsx`n
Evidence