Summary
When a logged-out user with an existing WordPress.com account follows an /accept-invite/… URL, they land on a Create an account signup page with no visible path to sign in. The "Already have a WordPress.com account? / Log in instead" footer link that the legacy signup form rendered is no longer surfaced on this page.
Steps to reproduce
- As a site admin, generate an invite (per-user or group invite link).
- Copy the
/accept-invite/{site_id}/{invite_key} URL.
- Open it in a private/incognito window so you're logged out.
Observed: The page renders the "social-first" signup variant (WordPress logo top-left, "Create an account for {Site}" heading, email field + Continue button, OR divider, Google/Apple/GitHub buttons). No "Log in instead" link anywhere. The only way to recover is to type an existing email and trigger the onCreateAccountError → isExistingAccountError auto-redirect path, which is invisible to the user.
Expected: A clear "Already have a WordPress.com account? / Log in" affordance, equivalent to what the legacy signup flow rendered.
Root cause
The P2 and generic logged-out invite flows both pass a footerLink prop into SignupForm:
client/my-sites/invites/p2/invite-accept-logged-out.jsx → footerLink={ renderFooterLink( props ) }
client/my-sites/invites/invite-accept-logged-out/index.jsx → same pattern
SignupForm routes to SignupFormSocialFirst in the isSocialFirst code path. That component (client/blocks/signup-form/signup-form-social-first.tsx) does not render the footerLink prop on either its initial or email screens. As a result, any downstream code that tries to pass a "Log in instead" footer is silently dropped.
The component does receive a logInUrl prop and uses it internally for the existing-account auto-redirect, but no visible link is rendered.
Impact
Every /accept-invite/… URL shared with a user who already has a WordPress.com account presents a dead-end signup flow. Affects P2, standard WP.com invites, and group-invite links. Users either guess to sign in elsewhere first, or give up.
Suggested fix
Render the passed footerLink (or an equivalent static "Already have a WordPress.com account? Log in" link built from logInUrl) at the bottom of the initial and/or email screens in signup-form-social-first.tsx, so every signup entry point — including /accept-invite/… — has a visible path for existing users.
Summary
When a logged-out user with an existing WordPress.com account follows an
/accept-invite/…URL, they land on a Create an account signup page with no visible path to sign in. The "Already have a WordPress.com account? / Log in instead" footer link that the legacy signup form rendered is no longer surfaced on this page.Steps to reproduce
/accept-invite/{site_id}/{invite_key}URL.Observed: The page renders the "social-first" signup variant (WordPress logo top-left, "Create an account for {Site}" heading, email field + Continue button, OR divider, Google/Apple/GitHub buttons). No "Log in instead" link anywhere. The only way to recover is to type an existing email and trigger the
onCreateAccountError→isExistingAccountErrorauto-redirect path, which is invisible to the user.Expected: A clear "Already have a WordPress.com account? / Log in" affordance, equivalent to what the legacy signup flow rendered.
Root cause
The P2 and generic logged-out invite flows both pass a
footerLinkprop intoSignupForm:client/my-sites/invites/p2/invite-accept-logged-out.jsx→footerLink={ renderFooterLink( props ) }client/my-sites/invites/invite-accept-logged-out/index.jsx→ same patternSignupFormroutes toSignupFormSocialFirstin theisSocialFirstcode path. That component (client/blocks/signup-form/signup-form-social-first.tsx) does not render thefooterLinkprop on either itsinitialoremailscreens. As a result, any downstream code that tries to pass a "Log in instead" footer is silently dropped.The component does receive a
logInUrlprop and uses it internally for the existing-account auto-redirect, but no visible link is rendered.Impact
Every
/accept-invite/…URL shared with a user who already has a WordPress.com account presents a dead-end signup flow. Affects P2, standard WP.com invites, and group-invite links. Users either guess to sign in elsewhere first, or give up.Suggested fix
Render the passed
footerLink(or an equivalent static "Already have a WordPress.com account? Log in" link built fromlogInUrl) at the bottom of theinitialand/oremailscreens insignup-form-social-first.tsx, so every signup entry point — including/accept-invite/…— has a visible path for existing users.