window.location.reload() causes infinite loops when the CDN keeps serving cached assets. Instead, silently treat Server Action failures as no-session — the OAuth flow uses full navigations (window.location.href) which naturally fetch fresh content from the server on return.