@@ -5,53 +5,62 @@ All planned phases have been implemented. This document now reflects the final s
55## What was implemented
66
77### Flow-level events (ProcessHandler)
8+
89- [x] ` loginVisible ` — fires when LoginInitBlock first becomes primary
910- [x] ` loginFinish ` — fires in onProcessCompleted when authType === Login
1011- [x] ` signupVisible ` — fires when SignupInitBlock first becomes primary
1112- [x] ` signupFinish ` — fires in onProcessCompleted when authType === Signup
1213- [x] ` loginReset ` — fires when LoginInitBlock becomes primary again (after being away)
1314
1415### Social login (LoginInitBlock + SignupInitBlock)
16+
1517- [x] ` socialLoginStart ` — fires before startSocialVerification API call
1618- [x] ` socialLoginFinish ` — fires when finishSocialVerification succeeds
1719- [x] ` socialLoginError ` — fires when finishSocialVerification fails
1820
1921### Identifier tracking (LoginInitBlock + SignupInitBlock + React components)
22+
2023- [x] ` provideIdentifierStartable ` — created via tracker in LoginForm.tsx / SignupInit.tsx with DOM ref
2124- [x] ` provideIdentifierSubmitted ` — fires in start() / updateUserData() before API call
2225- [x] ` provideIdentifierFinished ` — fires on successful API response
2326- [x] ` provideIdentifierError ` — fires on failed API response
2427- [x] Input field instrumentation (auto-detect first character, paste, CUI via PatternDetector)
2528
2629### Login methods decision (LoginInit + PasskeyError screens)
30+
2731- [x] ` loginMethodsDecisionOffered ` — fires in LoginInit.tsx, PasskeyError.tsx, PasskeyErrorLight.tsx
2832
2933### Email OTP (EmailVerifyBlock)
34+
3035- [x] ` emailOTPStartable ` — fires when block is created with verificationMethod === 'email-otp'
3136- [x] ` emailOTPSubmitted ` — fires in validateCode() before API call
3237- [x] ` emailOTPFinished ` — fires on successful validation
3338- [x] ` emailOTPError ` — fires on failed validation
3439- [x] ` emailOTPResent ` — fires on successful resend
3540
3641### Email Link (EmailVerifyBlock)
42+
3743- [x] ` emailLinkStartable ` — fires when block is created with verificationMethod === 'email-link'
3844- [x] ` emailLinkSubmitted ` — fires in validateEmailLink() before API call
3945- [x] ` emailLinkFinished ` — fires on successful link validation
4046- [x] ` emailLinkError ` — fires on failed link validation
4147
4248### web-core changes (B1 fix)
49+
4350- [x] ` loginWithPasskey() ` — added ` onCeremonyData ` callback exposing assertionOptions + assertionResponse
4451- [x] ` loginWithPasskeyChallenge() ` — extended ` onAuthenticatorCompleted ` to pass assertionOptions + assertionResponse
4552- [x] ` appendPasskey() ` — added ` onCeremonyData ` callback exposing attestationOptions + attestationResponse
4653
4754### Passkey login (PasskeyVerifyBlock + LoginInitBlock conditional UI)
55+
4856- [x] ` passkeyLoginStart ` — fires via onCeremonyData callback with assertionOptions
4957- [x] ` passkey.submitted ` — fires with assertionResponse
5058- [x] ` passkey.finished ` — fires on successful login
5159- [x] ` passkey.clientError ` / ` passkey.serverErrorUnknown ` — fires on failure
5260- [x] Conditional UI tracking — ` conditionalUIStartable ` , ` conditionalUISubmitted ` , ` conditionalUIFinished ` , ` conditionalUIClientError ` in LoginInitBlock
5361
5462### Passkey enrollment (PasskeyAppendBlock)
63+
5564- [x] ` passkeyEnrollmentStartable ` — fires when block is initialized
5665- [x] ` passkey_enrollment.started ` — fires via onCeremonyData with attestationOptions
5766- [x] ` passkey_enrollment.submitted ` — fires with attestationResponse
@@ -71,9 +80,9 @@ All planned phases have been implemented. This document now reflects the final s
7180
7281## Remaining gaps (future work)
7382
74- | Gap | Description |
75- | -----| -------------|
76- | Phone OTP events | No ` phoneOTP* ` events in observe SDK |
77- | Missing fields events | No tracking for the "complete your profile" step |
78- | Phone identifier instrumentation | ` provideIdentifierStartable ` assumes text input |
79- | Password events | No password login events tracked (not present in complete SDK) |
83+ | Gap | Description |
84+ | -------------------------------- | -------------------------------------------------------------- |
85+ | Phone OTP events | No ` phoneOTP* ` events in observe SDK |
86+ | Missing fields events | No tracking for the "complete your profile" step |
87+ | Phone identifier instrumentation | ` provideIdentifierStartable ` assumes text input |
88+ | Password events | No password login events tracked (not present in complete SDK) |
0 commit comments