Skip to content

Version Packages - #148

Merged
Bccorb merged 1 commit into
mainfrom
changeset-release/main
Sep 8, 2026
Merged

Version Packages#148
Bccorb merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@seamless-auth/react@0.12.0

Minor Changes

  • f59be34: Add a passkey while signed in, and say what a 401 at enrollment means.

    registerPasskey is now on useAuth() and on the framework-agnostic session actions,
    not only on the client. The bundled UI already told users they could "add a passkey later
    from a device that does", and nothing in the package implemented that: credentials could
    be listed and deleted but never added. The context version refreshes the session
    afterwards, so a settings screen renders the new passkey without a reload.

    Enrollment now requires a signed-in session, which is a coordinated change with
    seamless-auth-api and the server adapters. Upgrade all three together: the auth API and
    the adapter have no safe release order between them, and enrollment answers 401 until
    both land. The signup flow already satisfies it, because
    verifying the email OTP issues a session before the passkey screen is reached, so nothing
    in the bundled views moves. An application that called registerPasskey() before
    verifying an address has to move that call after it.

    A 401 from enrollment now reads "Your session expired before the passkey was saved" rather
    than the generic "Error registering passkey." It is the session rather than anything about
    the authenticator, and the generic wording invited the user to retry with the same expired
    one. isUnauthenticated(error) is exported for callers rendering their own screens.

    Corrects a stale README example that still passed a token to registerPasskey, a field
    removed when the wire contract moved to @seamless-auth/types.

@Bccorb
Bccorb merged commit becb06c into main Sep 8, 2026
3 checks passed
@Bccorb
Bccorb deleted the changeset-release/main branch September 8, 2026 19:03
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