Skip to content
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

[Payment 2024-11-20] Tour link - Tour link does not disappear after it is clicked for Expensifail accounts #52095

Closed
3 of 8 tasks
IuliiaHerets opened this issue Nov 6, 2024 · 37 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering

Comments

@IuliiaHerets
Copy link

IuliiaHerets commented Nov 6, 2024

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.58-0
Reproducible in staging?: Y
Reproducible in production?: N/A - new feature, doesn't exist in prod
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team

Action Performed:

  1. Go to staging.new.expensify.com
  2. Log in with Expensifail account.
  3. Click FAB.
  4. Open tour link.
  5. Complete the tour.
  6. Go back to ND.
  7. Open FAB.

Expected Result:

Tour link should disappear after it is clicked.

Actual Result:

Tour link does not disappear after it is clicked for Expensifail accounts.

This issue is not reproducible with Gmail accounts.

Workaround:

Unknown

Platforms:

  • Android: Standalone
  • Android: HybridApp
  • Android: mWeb Chrome
  • iOS: Standalone
  • iOS: HybridApp
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Bug6656014_1730853904423.fab.mp4

View all open jobs on GitHub

Issue OwnerCurrent Issue Owner: @strepanier03
@IuliiaHerets IuliiaHerets added DeployBlockerCash This issue or pull request should block deployment Bug Something is broken. Auto assigns a BugZero manager. labels Nov 6, 2024
Copy link

melvin-bot bot commented Nov 6, 2024

Triggered auto assignment to @MonilBhavsar (DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

Copy link

melvin-bot bot commented Nov 6, 2024

Triggered auto assignment to @strepanier03 (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.

Copy link

melvin-bot bot commented Nov 6, 2024

💬 A slack conversation has been started in #expensify-open-source

@melvin-bot melvin-bot bot added the Daily KSv2 label Nov 6, 2024
@github-actions github-actions bot added Engineering Hourly KSv2 and removed Daily KSv2 labels Nov 6, 2024
Copy link
Contributor

github-actions bot commented Nov 6, 2024

👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.

@MonilBhavsar
Copy link
Contributor

Commented on offending PR

@MonilBhavsar
Copy link
Contributor

I think we can most probably demote from blocker as it's a new feature, but curious to hear PR author's thoughts

@rushatgabhane
Copy link
Member

what is special about expensifail accounts? @MonilBhavsar maybe you can help with network log?

@rushatgabhane
Copy link
Member

i can't reproduce this on my personal account

@MonilBhavsar
Copy link
Contributor

expensifail is just a private domain. Did you try using a private domain?

This is something that stands out in the log.

[App] 2024-11-06T00:15:33.569Z - [alXt] [Onyx] Warning: Trying to apply "merge" with non-array type to array type in the key "nvp_onboarding" ~~ stack: '"Error\n at t.default.alert (https://staging.new.expensify.com/vendors-24902c76fb140ef2f7f3.bundle.js:2:2696325)\n at https://staging.new.expensify.com/main-3013b01992919466ef5e.bundle.js:1:191919\n at t.logAlert (https://staging.new.expensify.com/vendors-24902c76fb140ef2f7f3.bundle.js:2:3403296)\n at https://staging.new.expensify.com/vendors-24902c76fb140ef2f7f3.bundle.js:2:3406084\n at Array.filter (<anonymous>)\n at https://staging.new.expensify.com/vendors-24902c76fb140ef2f7f3.bundle.js:2:3405952\n at async Promise.all (index 0)"' userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36'

Source https://www.expensify.com/_devportal/tools/logSearch/#query=request_id:(%228de0e3d5a804d42e-KUL%22)+AND+timestamp:[2024-11-05T23:15:35.425Z+TO+2024-11-06T01:15:35.425Z]&index=logs_expensify-031069

@c3024
Copy link
Contributor

c3024 commented Nov 6, 2024

For private domain accounts with domain control setup, one cannot login without a magic code. These accounts are treated as onboarding flow completed accounts. For such accounts, OpenApp returns an empty onboarding array [].

Screenshot 2024-11-06 at 3 03 26 PM

No onboarding flow is shown. When we see the tour, we try to apply MERGE with an object to the array. Onyx complains

Screenshot 2024-11-06 at 3 04 34 PM

and does not update the selfTourViewed value. So, the onboarding remains as an empty array and the tour option keeps displayed.

I guess we need not show the tour link option for users who do not need to do the onboarding flow even though they login for the first time. Like private domain accounts in this case for which backend sends onboarding as [].

@mountiny , can you please check this?

@MonilBhavsar
Copy link
Contributor

MonilBhavsar commented Nov 6, 2024

Thanks for looking!
Explains the issue.

I think we should display guided tours to users for first time, regardless of public or private domain.
It would be helpful to users to know about the app, especially in top-down flow.

I think this will be fixed if server sends empty object instead of an array?

@c3024
Copy link
Contributor

c3024 commented Nov 6, 2024

Yes, that should work. I am not sure how it works on backend but there seems to be some issue with php converting an empty object into an array for sending empty objects.

@c3024
Copy link
Contributor

c3024 commented Nov 6, 2024

I think we should also treat selfTourViewed as true here

return false;

for cases where onboarding is sent as [] like we do here.

// Onboarding is an array for old accounts and accounts created from OldDot
if (Array.isArray(onboarding)) {
return true;
}

// onboarding can be an array for old accounts and accounts created from olddot

Otherwise, this same problem happens for old accounts and accounts created through old dot because the selfTourViewed can never be updated to true because of the Onyx object -> array merge error.

cc: @mountiny @rushatgabhane

@MonilBhavsar
Copy link
Contributor

Yes, that should work. I am not sure how it works on backend but there seems to be some issue with php #50493 (comment) an empty object into an array for sending empty objects.

Great 👍 Let's do it.
It also makes this issue non blocker then

@MonilBhavsar MonilBhavsar added Reviewing Has a PR in review Daily KSv2 and removed DeployBlockerCash This issue or pull request should block deployment Hourly KSv2 labels Nov 6, 2024
@MonilBhavsar
Copy link
Contributor

Sent PR to fix this.

We might need an App followup for reason mentioned here #52095 (comment)

@MonilBhavsar
Copy link
Contributor

Sounds good, thanks! 👍
I think we should also check emptiness too

@MonilBhavsar MonilBhavsar removed the Reviewing Has a PR in review label Nov 7, 2024
@mountiny
Copy link
Contributor

mountiny commented Nov 7, 2024

working on this

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Daily KSv2 Weekly KSv2 labels Nov 7, 2024
@melvin-bot melvin-bot bot changed the title Tour link - Tour link does not disappear after it is clicked for Expensifail accounts [HOLD for payment 2024-11-20] Tour link - Tour link does not disappear after it is clicked for Expensifail accounts Nov 13, 2024
Copy link

melvin-bot bot commented Nov 13, 2024

Reviewing label has been removed, please complete the "BugZero Checklist".

@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Nov 13, 2024
Copy link

melvin-bot bot commented Nov 13, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.60-3 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-11-20. 🎊

Copy link

melvin-bot bot commented Nov 13, 2024

@MonilBhavsar @strepanier03 @MonilBhavsar 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]

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Nov 19, 2024
Copy link

melvin-bot bot commented Nov 20, 2024

Skipping the payment summary for this issue since all the assignees are employees or vendors. If this is incorrect, please manually add the payment summary SO.

@strepanier03 strepanier03 changed the title [HOLD for payment 2024-11-20] Tour link - Tour link does not disappear after it is clicked for Expensifail accounts [Payment 2024-11-20] Tour link - Tour link does not disappear after it is clicked for Expensifail accounts Nov 20, 2024
@strepanier03
Copy link
Contributor

@MonilBhavsar - Do @rushatgabhane and @c3024 require payment? They are assigned to the PR and I didn't want to close this if they were.

@rushatgabhane
Copy link
Member

no, this bug isn't fixed yet

@c3024
Copy link
Contributor

c3024 commented Nov 21, 2024

No, this was fixed with PR #52175. This is not reproducible anymore for domain workspace configured private domain accounts.

linkDisappearsFine.mov

So, this should not be reproducible for Expensifail accounts as well.

@strepanier03
Copy link
Contributor

So does that mean you're both owed $250 for #52175?

@MonilBhavsar
Copy link
Contributor

Vit made the PR. So, I think @c3024 only owes $250 for reviewing #52175

@melvin-bot melvin-bot bot added the Overdue label Nov 25, 2024
@strepanier03
Copy link
Contributor

Got it, thanks a bunch @MonilBhavsar - I'll spin that up now.

@melvin-bot melvin-bot bot removed the Overdue label Nov 25, 2024
@rushatgabhane
Copy link
Member

sorry, nothing due here. Tour is part of a project. we can close the issue.

@strepanier03
Copy link
Contributor

Okay, please reopen if the above is not correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering
Projects
None yet
Development

No branches or pull requests

6 participants