Skip to content

Conversation

@dphilipson
Copy link
Contributor

@dphilipson dphilipson commented Oct 23, 2025

PR-Codex overview

This PR introduces various enhancements and new features to the authentication components in the @alchemy/react library. It includes new hooks for managing passkeys, improved error handling, and updates to UI components for better user experience.

Detailed summary

  • Added useAuthModal hook for managing the Auth Modal.
  • Introduced addPasskey and loginWithPasskey actions for passkey management.
  • Enhanced error handling in ConnectionError and loading states.
  • New UI components: PasskeyAdded, GeneralError, HelpText, and more.
  • Updated documentation for new methods and components.
  • Improved styling and structure of existing components.

The following files were skipped due to too many changes: packages/react/src/components/auth/card/footer/email-not-reveived.tsx, packages/react/src/hooks/useUiConfig.tsx, packages/react/src/hooks/useAddPasskey.ts, packages/react/src/components/auth/card/loading/email.tsx, packages/react/src/components/auth/sections/OAuth.tsx, packages/react/src/icons/oauth.tsx, packages/react/src/icons/passkey.tsx, packages/react/src/components/auth/card/loading/oauth.tsx, packages/react/src/components/dialog/dialog.tsx, packages/react/src/components/auth/sections/EmailAuth.tsx, packages/react/src/hooks/useResizeObserver.ts, packages/react/src/components/auth/card/add-passkey.tsx, docs/pages/reference/alchemy/react/hooks/useLoginWithPasskey.mdx, packages/react/src/components/auth/context.ts, packages/react/src/components/auth/card/loading/otp.tsx, packages/react/src/components/strings.ts, packages/react/src/components/AlchemyUiProvider.tsx, packages/react/src/icons/connectionFailed.tsx, packages/react/src/icons/timeout.tsx, packages/react/src/hooks/useLoginWithPasskey.ts, packages/react/src/components/auth/card/auth-card.tsx, packages/react/src/icons/metamask.tsx, packages/react/src/components/otp-input/otp-input.tsx, packages/react/src/icons/alchemy.tsx, packages/react/src/icons/illustrations/success.tsx, packages/react/src/icons/illustrations/email.tsx, packages/react/src/icons/illustrations/passkey.tsx, packages/react/src/icons/illustrations/passkeys.tsx, packages/react/src/icons/illustrations/add-passkey.tsx, packages/react/src/icons/illustrations/added-passkey.tsx, packages/react/src/icons/spinner.tsx

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@vercel
Copy link

vercel bot commented Oct 23, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
aa-sdk-ui-demo Ignored Ignored Preview Oct 23, 2025 2:34am

@github-actions
Copy link

github-actions bot commented Oct 23, 2025

🌿 Documentation Preview

Name Status Preview Updated (UTC)
Alchemy Docs ✅ Ready 🔗 Visit Preview Oct 23, 2025, 2:36 AM

@github-actions github-actions bot temporarily deployed to docs-preview October 23, 2025 02:14 Inactive
@github-actions github-actions bot temporarily deployed to docs-preview October 23, 2025 02:25 Inactive
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces UI components and hooks to the @alchemy/react package (v5), focusing on authentication flows with passkey management, OAuth integration, and email authentication. The changes add modal dialogs, loading states, error handling, and various illustration styles for a polished user experience.

Key Changes

  • Added passkey management hooks (useAddPasskey, useLoginWithPasskey) and corresponding UI components
  • Introduced useAuthModal hook and AuthModal/AuthCard components for authentication flows
  • Added comprehensive icon libraries for OAuth providers, illustrations, and UI elements
  • Implemented configuration management via useUiConfig hook with illustration style support

Reviewed Changes

Copilot reviewed 100 out of 101 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
packages/wagmi-core/src/index.ts Exports new passkey action functions
packages/wagmi-core/src/actions/loginWithPasskey.ts Implements passkey login action
packages/wagmi-core/src/actions/addPasskey.ts Implements add passkey action
packages/react/src/index.ts Exports new hooks and UI components
packages/react/src/types.ts Adds UI configuration types
packages/react/src/query/*.ts React Query mutation options for passkey actions
packages/react/src/icons/**/*.tsx SVG icon components for UI elements and illustrations
packages/react/src/hooks/useUiConfig.tsx UI configuration context and provider
packages/react/src/hooks/useResizeObserver.ts Resize observer hook for responsive UI
packages/react/src/utils.ts Utility functions for string manipulation

r="18.0571"
stroke="#DC2626"
strokeWidth="2.5"
className="=stroke-[#DC2626] dark:stroke-[#EF4444]"
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Invalid className with leading = character. Should be className="stroke-[#DC2626] dark:stroke-[#EF4444]".

Copilot uses AI. Check for mistakes.
strokeWidth="2.5"
strokeLinecap="round"
strokeLinejoin="round"
className="=stroke-[#DC2626] dark:stroke-[#EF4444]"
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Invalid className with leading = character. Should be className="stroke-[#DC2626] dark:stroke-[#EF4444]".

Copilot uses AI. Check for mistakes.
strokeWidth="2.5"
strokeLinecap="round"
strokeLinejoin="round"
className="=stroke-[#DC2626] dark:stroke-[#EF4444]"
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Invalid className with leading = character. Should be className="stroke-[#DC2626] dark:stroke-[#EF4444]".

Copilot uses AI. Check for mistakes.
width="60"
height="60"
viewBox="0 0 60 60"
fill="n##363FF9"
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Invalid fill value with extra characters. Should be fill="#363FF9".

Suggested change
fill="n##363FF9"
fill="#363FF9"

Copilot uses AI. Check for mistakes.
width="60"
height="60"
viewBox="0 0 60 60"
fill="363FF9"
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing # prefix in fill value. Should be fill="#363FF9".

Suggested change
fill="363FF9"
fill="#363FF9"

Copilot uses AI. Check for mistakes.
r="18.0571"
stroke="#DC2626"
strokeWidth="2.5"
className="stroke-[#DC2626] dark:[#EF4444]"
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incomplete dark mode className. Should be className="stroke-[#DC2626] dark:stroke-[#EF4444]".

Suggested change
className="stroke-[#DC2626] dark:[#EF4444]"
className="stroke-[#DC2626] dark:stroke-[#EF4444]"

Copilot uses AI. Check for mistakes.
@dphilipson
Copy link
Contributor Author

All of those copilot objections are to existing code from v4, btw.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant