Because:
- OTP/passwordless users going through the set-password flow were
indistinguishable from third-party-auth users in Glean telemetry,
making OTP adoption impossible to measure.
- change_password_submit did not distinguish between changing an
existing password and creating one for the first time.
- The third_party_auth_set_password view and engage events were
declared in the schema but never fired from code.
This commit:
- Adds reason extra_key to all four third_party_auth_set_password
events ('otp' vs 'third_party_auth'), wires view/engage/submit
in SetPassword/index.tsx, and success in container.tsx. Engage
fires on the first keystroke (not focus) to match the pattern
used by SigninPasswordlessCode.
- Adds reason extra_key to change_password_submit ('change' vs
'create') and emits it from Settings/Security CTA.
- Regenerates the Glean bindings for accountPref.ts,
thirdPartyAuthSetPassword.ts, and event.ts.
- Bridges the new reason extras in fxa-settings/src/lib/glean/index.ts
and adds unit-test coverage for both reason values on all five
affected events in glean/index.test.ts.
- Extends signinPasswordless.spec.ts to assert reason='otp' on all
four set-password events during the Sync OTP flow (attaches a
fresh GleanEventsHelper to the Sync browser page).
- Extends settings/changePassword.spec.ts to assert reason='change'
on account_pref_change_password_submit.
Fixes FXA-13429