App
App copied to clipboard
[$250] Contact method - Main email doesn't get validated after inserting magic code
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: 9.0.28-0 Reproducible in staging?: Y Reproducible in production?: Y Email or phone of affected tester (no customers): [email protected] Issue reported by: Applause Internal Team
Action Performed:
- Navigate to staging.new.expensify.com
- Sign in with a new gmail account
- Go to contact method
- Click on New contact method
- Add a new account
- After being navigated to validate main email account enter magic code and validate it
Expected Result:
After validating the main email account the GBR should disappear from the main email and the main email should now be considered as validated
Actual Result:
Main gmail account still considered to be unvalidated after getting magic code and validated using it
Workaround:
Unknown
Platforms:
- [ ] Android: Native
- [x] Android: mWeb Chrome
- [ ] iOS: Native
- [ ] iOS: mWeb Safari
- [x] MacOS: Chrome / Safari
- [ ] MacOS: Desktop
Screenshots/Videos
https://github.com/user-attachments/assets/5aa25ef5-b307-4503-93d8-7dd812bf14f5
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~021831356985561814829
- Upwork Job ID: 1831356985561814829
- Last Price Increase: 2024-09-04
Issue Owner
Current Issue Owner: @c3024
Triggered auto assignment to @lschurr (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.
@lschurr FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors
Proposal
Please re-state the problem that we are trying to solve in this issue.
Contact method - Main email doesn't get validated after inserting magic code
What is the root cause of that problem?
Right here we return exit from the function if we have a pending contact meaning adding new contact https://github.com/Expensify/App/blob/562d7b48226247253625b9ac1fd45266cb53eda8/src/pages/settings/Profile/Contacts/ValidateCodeForm/BaseValidateCodeForm.tsx#L190-L195
What changes do you think we should make in order to solve the problem?
We can just remove the return statement
What alternative solutions did you explore? (Optional)
N/A
Job added to Upwork: https://www.upwork.com/jobs/~021831356985561814829
Triggered auto assignment to Contributor-plus team member for initial proposal review - @c3024 (External)
Hi @c3024! Could you review the proposal here when you get a chance?
Proposal
Please re-state the problem that we are trying to solve in this issue.
Main gmail account still considered to be unvalidated after getting magic code and validated using it
What is the root cause of that problem?
I don't think this is a bug, in Step 6, we're validating the ACTION to add secondary contact, not the (main) contact itself. It's like KYC/proving you're the one who made the action before actually verifying the contact method.
I think the problem lies in the validate code prompt text that confused users, even the QA and contributors. We need to update it.
What changes do you think we should make in order to solve the problem?
Take Google for example, it just simply shows To continue, first verify it’s you:
To do that, we can modify the message in ValidateContactActionPage:
https://github.com/Expensify/App/blob/ac51c3b8344a23ceb58d8618292ea98b22f66ed1/src/pages/settings/Profile/Contacts/ValidateContactActionPage.tsx#L56
Their will require backend change to work
MAking this weekly as its not that critical
@lschurr, @mountiny, @c3024 Huh... This is 4 days overdue. Who can take care of this?
This is not overdue
What changes do we need to make here?
If you're adding a secondary login with an unvalidated primary, and we prompt to "prove it's you" by entering a magic code, we should validate the primary?
@lschurr @mountiny @c3024 this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!
Removing it from wave-collect, there is no fire clean-up project, but this is just a consequence of a change from a fire clean-up.
I think what we need to do is ti send onyx update that the login was validated
Still was not able to prioritize this one
focusing on higher priorities still
low
same
@c3024, could you please retest if this is still happening? I think we might have made some changes to this flow
@mountiny
Still happening.
- GBR remains.
- Clicking on the contact method, even after verifying once through "Add Contact Method" flow, asks for magic code.
https://github.com/user-attachments/assets/0b500ef2-d71e-4648-a236-73ab767d5fa0
@c3024 thanks for verifying
GBR is not displayed anymore as per this PR https://github.com/Expensify/App/pull/49004
https://github.com/user-attachments/assets/aec1be07-5957-42a5-82a3-7e3ecf1d5892
I am still seeing the GBR now on staging. 🤔
https://github.com/user-attachments/assets/e8446fed-29a3-42fa-a596-0aa86461d7c3
The GBR is not there on signup but some data from backend seems to make the GBR appear after validating the primary account through the "Add secondary contact method" flow.
low
still in progress, been focusing on app deploy this week
low
Not a fire clean up technically, just a UX problem, I will look into this soon I hope
low
Not overdue
note for self: validation code https://github.com/Expensify/Auth/blob/367e311738b9652c81208fdc568731e929225a7d/auth/command/AuthenticateGoogle.cpp#L249-L253