-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HOLD for payment 2024-12-09] [$250] Web/Safari - Account -The email field error appears after successfully signing in with an Apple account #52882
Comments
Triggered auto assignment to @sakluger ( |
Job added to Upwork: https://www.upwork.com/jobs/~021859629436988834132 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @akinwale ( |
Edited by proposal-police: This proposal was edited at 2024-11-21 18:05:48 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.The email field error appears after successfully signing in with an Apple account What is the root cause of that problem?When we click the Apple icon, a popup appears that prevents the App/src/pages/signin/LoginForm/BaseLoginForm.tsx Lines 245 to 252 in b4a8a41
Screen.Recording.2024-11-22.at.01.01.41.mp4The reason
What changes do you think we should make in order to solve the problem?To resolve this issue, we must call We pass the onPress prop from BaseLoginForm to AppleSignInDiv and add an event listener for the click to call onPress // src/components/SignInButtons/AppleSignIn/index.tsx#L83
React.useEffect(() => {
const appleSignInButton = document.getElementById('appleid-signin');
if (!appleSignInButton && !isDesktopFlow) {
return;
}
appleSignInButton?.addEventListener('click', () => {
onPress?.();
});
return () => {
appleSignInButton?.removeEventListener('click', () => {
onPress?.();
});
};
}); note: If Google Sign-In has the same issue, we can reuse this solution Test branchPOCScreen.Recording.2024-11-22.at.00.59.35.mp4What alternative solutions did you explore? (Optional) |
ProposalPlease re-state the problem that we are trying to solve in this issue.The email field error appears when clicking on the "Sign in with Apple/Google" buttons What is the root cause of that problem?On the login page we skip the App/src/pages/signin/LoginForm/BaseLoginForm.tsx Lines 246 to 251 in 2b31276
App/src/pages/signin/LoginForm/BaseLoginForm.tsx Lines 307 to 312 in 2b31276
The issue occurs because neither What changes do you think we should make in order to solve the problem?We need to invoke the callback by passing it to Important: Unlike
return isDesktopFlow ? (
<div
id="appleid-signin"
...
+ onPointerDown={onPress}
/>
) : (
<div
id="appleid-signin"
...
+ onPointerDown={onPress}
/>
);
return isDesktopFlow ? (
<View style={styles.googlePillButtonContainer}>
<div
id={desktopId}
...
+ onPointerDown={onPress}
/>
</View>
) : (
<View style={[styles.googleButtonContainer, styles.willChangeTransform]}>
<div
id={mainId}
...
+ onPointerDown={onPress}
/>
</View>
); See all changes on my test branch: main...CyberAndrii:ExpensifyApp:52882-fix-error-when-clicking-on-Sign-In-with-Apple-or-Google |
Triggered auto assignment to @mjasikowski, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
@akinwale hey, did you review my proposal? It explains why @huult's solution won't fully fix the issue.
(when pressing on the button like this) Screen.Recording.2024-11-23.at.15.07.34.mov |
Note for C+ @akinwale , When we hold the mouse and move it out, as @CyberAndrii mentioned, it still shows the error field when we click elsewhere. This is not related to this ticket. Screen.Recording.2024-11-23.at.21.41.20.mp4 |
Thank you for your review, @akinwale . |
To clarify, the mouse doesn't need to be moved out or clicked elsewhere. After the mouse button is released, it will continue with the sign in flow. With huut's proposal the error will be hidden only when the mouse is released. With my proposal the error won't appear at all. |
Let's go with @huult's proposal - it was submitted earlier @CyberAndrii's solution is largely the same, albeit using a different event. Please check if @CyberAndrii's assumption about Any Apple/Google Sign-in errors related to incorrect mouse event handling should be treated as in scope of this issue. @sakluger let's pay $50 to @CyberAndrii for a valuable addition to the selected proposal. |
📣 @huult 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
Thank you! I will create the pull request within 24 hours |
Sounds good @mjasikowski! I'm going to assign @CyberAndrii to the GH issue so that it auto-creates an Upwork contract. |
📣 @CyberAndrii 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.69-4 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2024-12-09. 🎊 For reference, here are some details about the assignees on this issue:
|
@akinwale @sakluger @akinwale The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button] |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test ProposalTest:
Do we agree 👍 or 👎? |
Looks good, thanks! |
Summarizing payment on this issue: Contributor: @CyberAndrii $50, paid via Upwork |
$250 approved for @akinwale |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: v9.0.65-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Issue reported by: Applause Internal Team
Action Performed:
Expected Result:
The user is logged correctly into NewDot, no errors are displayed,
Actual Result:
The email field error appears after successfully signing in with an Apple account
Workaround:
Unknown
Platforms:
Screenshots/Videos
Bug6671511_1732167006789.apple_account_staging.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @saklugerThe text was updated successfully, but these errors were encountered: