`useRequireAuth` in `web/src/hooks/use-auth.ts` checks `isError` which is true for ANY query failure (500, network timeout, etc.), not just `Code.Unauthenticated`. A momentary server hiccup on any protected route redirects the user to `/login`.
Fix: Check for `ConnectError` with `Code.Unauthenticated` specifically (matching the `useOptionalAuth` pattern). Show an error state for other failures instead of redirecting.
`useRequireAuth` in `web/src/hooks/use-auth.ts` checks `isError` which is true for ANY query failure (500, network timeout, etc.), not just `Code.Unauthenticated`. A momentary server hiccup on any protected route redirects the user to `/login`.
Fix: Check for `ConnectError` with `Code.Unauthenticated` specifically (matching the `useOptionalAuth` pattern). Show an error state for other failures instead of redirecting.