Skip to content

Version Packages - #134

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

Version Packages#134
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 30, 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.10.0

Minor Changes

  • 17a657d: Let a caller choose where a magic link lands.

    requestMagicLink takes an optional redirectUri. A deployment serving both a web
    app and a mobile app previously had one destination for every magic link, so a link
    had to arrive in one or the other.

    The value goes in the request body the client already sends. The deployment validates
    it against its configured origins and refuses anything else, so this cannot be used to
    point a link on the tenant's domain somewhere it should not go, and a refusal comes
    back as an ordinary error result.

    Omit it and nothing changes: the same empty body is sent, so the destination stays the
    deployment's own and no caller has to do anything.

    Needs a @seamless-auth/server adapter that forwards the field and an auth API that
    understands it. Against older versions the value is dropped and the link keeps the
    deployment's destination, which is the behaviour today.

  • 4199d52: Add getPasskeyPolicyErrorCode(), which reads the code a refused passkey
    registration carries (attachment_not_allowed, synced_passkey_not_allowed,
    authenticator_not_allowed, or prf_required) so an app can explain the
    refusal instead of rendering the raw code from error.message. Unrecognized
    codes return undefined, so a refusal from a newer API keeps your generic
    messaging.

    The PasskeyPolicyErrorCode union is derived from WebAuthnErrorCode in
    @seamless-auth/types, so the codes this recognizes cannot drift from the ones
    the API sends.

    This matters on a default deployment: the API's
    authenticator_policy.syncedPasskeys defaults to block, and passkeys created
    by iCloud Keychain or Google Password Manager are backup eligible, so the most
    common consumer passkey is refused at registration.

  • fa27861: registerPasskey() accepts an attachment, so a caller can ask for a roaming
    authenticator (cross-platform, a USB or NFC security key) or the one built
    into the device (platform) instead of leaving the choice to the browser's
    picker. The bundled enrolment view offers a "Use a security key instead" control
    that takes this path, and explains a policy refusal rather than showing a
    generic failure.

    Omitting the option sends no query parameter, so the deployment's
    authenticator_policy.attachment stays in charge and current behaviour is
    unchanged. It is a request rather than an override: a deployment that pins the
    other kind refuses the registration with attachment_not_allowed, which
    getPasskeyPolicyErrorCode() reads.

    PasskeyAttachment is exported, and is derived from the deployment policy type
    in @seamless-auth/types rather than restating its members.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 2 times, most recently from ad8959a to 8149584 Compare August 30, 2026 22:02
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 8149584 to fef875b Compare August 31, 2026 15:01
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.

0 participants