App icon indicating copy to clipboard operation
App copied to clipboard

[$250] Contact method - Main email doesn't get validated after inserting magic code

Open IuliiaHerets opened this issue 1 year ago • 8 comments

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:

  1. Navigate to staging.new.expensify.com
  2. Sign in with a new gmail account
  3. Go to contact method
  4. Click on New contact method
  5. Add a new account
  6. 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

View all open jobs on GitHub

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 OwnerCurrent Issue Owner: @c3024

IuliiaHerets avatar Sep 04 '24 08:09 IuliiaHerets

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.

melvin-bot[bot] avatar Sep 04 '24 08:09 melvin-bot[bot]

@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

IuliiaHerets avatar Sep 04 '24 08:09 IuliiaHerets

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

NJ-2020 avatar Sep 04 '24 08:09 NJ-2020

Job added to Upwork: https://www.upwork.com/jobs/~021831356985561814829

melvin-bot[bot] avatar Sep 04 '24 15:09 melvin-bot[bot]

Triggered auto assignment to Contributor-plus team member for initial proposal review - @c3024 (External)

melvin-bot[bot] avatar Sep 04 '24 15:09 melvin-bot[bot]

Hi @c3024! Could you review the proposal here when you get a chance?

lschurr avatar Sep 04 '24 15:09 lschurr

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:

Screenshot 2024-09-05 at 01 15 42

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

mkzie2 avatar Sep 04 '24 18:09 mkzie2

Their will require backend change to work

mountiny avatar Sep 07 '24 16:09 mountiny

MAking this weekly as its not that critical

mountiny avatar Sep 09 '24 18:09 mountiny

@lschurr, @mountiny, @c3024 Huh... This is 4 days overdue. Who can take care of this?

melvin-bot[bot] avatar Sep 09 '24 18:09 melvin-bot[bot]

This is not overdue

mountiny avatar Sep 09 '24 18:09 mountiny

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?

trjExpensify avatar Sep 18 '24 14:09 trjExpensify

@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!

melvin-bot[bot] avatar Sep 18 '24 18:09 melvin-bot[bot]

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

mountiny avatar Sep 18 '24 20:09 mountiny

Still was not able to prioritize this one

mountiny avatar Oct 01 '24 18:10 mountiny

focusing on higher priorities still

mountiny avatar Oct 10 '24 20:10 mountiny

low

mountiny avatar Oct 22 '24 03:10 mountiny

same

mountiny avatar Oct 31 '24 00:10 mountiny

@c3024, could you please retest if this is still happening? I think we might have made some changes to this flow

mountiny avatar Nov 11 '24 13:11 mountiny

@mountiny

Still happening.

  1. GBR remains.
  2. 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 avatar Nov 11 '24 14:11 c3024

@c3024 thanks for verifying

mountiny avatar Nov 11 '24 15:11 mountiny

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

kavimuru avatar Nov 12 '24 14:11 kavimuru

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.

c3024 avatar Nov 12 '24 14:11 c3024

low

mountiny avatar Nov 20 '24 12:11 mountiny

still in progress, been focusing on app deploy this week

mountiny avatar Nov 30 '24 00:11 mountiny

low

mountiny avatar Dec 12 '24 16:12 mountiny

Not a fire clean up technically, just a UX problem, I will look into this soon I hope

mountiny avatar Dec 26 '24 22:12 mountiny

low

mountiny avatar Jan 07 '25 00:01 mountiny

Not overdue

mountiny avatar Jan 07 '25 00:01 mountiny

note for self: validation code https://github.com/Expensify/Auth/blob/367e311738b9652c81208fdc568731e929225a7d/auth/command/AuthenticateGoogle.cpp#L249-L253

mountiny avatar Jan 13 '25 00:01 mountiny