Fix add-email preserve identity email state flow

This commit is contained in:
QLHazyCoder
2026-05-12 03:49:22 +08:00
parent f81cc74c29
commit c3423b21ab
12 changed files with 670 additions and 26 deletions
+11 -1
View File
@@ -20,6 +20,7 @@
isSignupPasswordPageUrl,
isSignupPhoneVerificationPageUrl = null,
isSignupProfilePageUrl = null,
persistRegistrationEmailState = null,
reuseOrCreateTab,
sendToContentScriptResilient,
setEmailState,
@@ -328,8 +329,17 @@
if (resolvedEmail === state.email && !options?.preserveAccountIdentity) {
return;
}
const preservedPhoneIdentity = getPreservedPhoneIdentityForEmailResolution(state, options);
const generatedEmailAlreadyPersisted = Boolean(options?.generatedEmailAlreadyPersisted);
if (typeof persistRegistrationEmailState === 'function') {
if (!generatedEmailAlreadyPersisted) {
await persistRegistrationEmailState(state, resolvedEmail, {
source: 'flow',
preserveAccountIdentity: Boolean(options?.preserveAccountIdentity),
});
}
return;
}
const preservedPhoneIdentity = getPreservedPhoneIdentityForEmailResolution(state, options);
if (preservedPhoneIdentity && typeof setState === 'function') {
if (!generatedEmailAlreadyPersisted && resolvedEmail !== state.email) {
await setEmailState(resolvedEmail, { source: 'flow' });