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

[$250] Scan split - Confirmation page & Category RHPs appear together when opening Category #40538

Closed
2 of 6 tasks
izarutskaya opened this issue Apr 19, 2024 · 27 comments
Closed
2 of 6 tasks
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor retest-weekly Apply this label if you want this issue tested on a Weekly basis by Applause

Comments

@izarutskaya
Copy link

izarutskaya commented Apr 19, 2024

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: 1.4.63-5
Reproducible in staging?: Y
Reproducible in production?: N
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team

Action Performed:

  1. Go to staging.new.expensify.com
  2. Go to workspace chat.
  3. Create a scan split expense.
  4. Click on the split preview.
  5. Click Category.
  6. Select a category.
  7. Click Category again.

Expected Result:

There will not be another RHP appearing when opening Category list.

Actual Result:

Confirmation page RHP appears briefly together with Category list RHP when opening Category list.

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Bug6454403_1713491451236.20240419_094012.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~014586c0d55dcc99f4
  • Upwork Job ID: 1781430402702237696
  • Last Price Increase: 2024-04-19
  • Automatic offers:
    • bernhardoj | Contributor | 0
@izarutskaya izarutskaya added DeployBlockerCash This issue or pull request should block deployment Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Apr 19, 2024
Copy link

melvin-bot bot commented Apr 19, 2024

Triggered auto assignment to @adelekennedy (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 Apr 19, 2024

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

@github-actions github-actions bot added Engineering Hourly KSv2 and removed Daily KSv2 labels Apr 19, 2024
Copy link
Contributor

👋 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.

@izarutskaya
Copy link
Author

@adelekennedy 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.

@izarutskaya
Copy link
Author

We think this issue might be related to the #collect project.

@izarutskaya
Copy link
Author

Production

bandicam.2024-04-19.08-53-24-504.mp4

@MariaHCD
Copy link
Contributor

Unable to reproduce the bug on dev 🤔

Screen.Recording.2024-04-19.at.3.31.15.PM.mov

@MariaHCD
Copy link
Contributor

Oh, I see it happens once the expense is submitted and scanning is in progress:

Screen.Recording.2024-04-19.at.3.34.47.PM.mov

@MariaHCD MariaHCD added the External Added to denote the issue can be worked on by a contributor label Apr 19, 2024
Copy link

melvin-bot bot commented Apr 19, 2024

Unable to auto-create job on Upwork. The BZ team member should create it manually for this issue.

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Apr 19, 2024
Copy link

melvin-bot bot commented Apr 19, 2024

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

@adelekennedy
Copy link

@MariaHCD is this an actual deploy blocker? Or can we scale this back to a high priority bug?

@adelekennedy adelekennedy added Daily KSv2 and removed DeployBlockerCash This issue or pull request should block deployment Hourly KSv2 labels Apr 19, 2024
@adelekennedy
Copy link

related to categories - making this wave collect!

@adelekennedy adelekennedy added External Added to denote the issue can be worked on by a contributor and removed External Added to denote the issue can be worked on by a contributor Help Wanted Apply this label when an issue is open to proposals by contributors labels Apr 19, 2024
Copy link

melvin-bot bot commented Apr 19, 2024

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

@melvin-bot melvin-bot bot changed the title Scan split - Confirmation page & Category RHPs appear together when opening Category [$250] Scan split - Confirmation page & Category RHPs appear together when opening Category Apr 19, 2024
@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Apr 19, 2024
Copy link

melvin-bot bot commented Apr 19, 2024

Current assignee @thesahindia is eligible for the External assigner, not assigning anyone new.

@adelekennedy
Copy link

removed the deploy blocker label and re-added the external label

@bernhardoj
Copy link
Contributor

Proposal

Please re-state the problem that we are trying to solve in this issue.

The navigation transition is really weird when navigating to the money request category page.

What is the root cause of that problem?

On the category page, we use a selection list. In the selection list (specifically in BaseListItem), we have a useSyncFocus that will give the selected/focused item a browser focus (.focus())

useLayoutEffect(() => {
if (!isFocused) {
return;
}
ref.current?.focus();
}, [isFocused, ref]);

Because we focus immediately after mount, you can see that the navigation transition animation for the category page is gone and there is a weird transition happening only when we open the category page from the SplitBillDetailsPage.

Focusing on an element after component mount is a common issue we face, that's why we always delay, for example, auto focus on a page or waiting for screen transition end.

What changes do you think we should make in order to solve the problem?

In our case, we can either wrap selection list with withNavigationTransitionEnd HOC to get the transition end state or just use isInitialSectionListRender state. It's simpler to use isInitialSectionListRender.

isInitialSectionListRender initial value is true and will be set to false when the selection list calls onLayout. Then, we will only enable the focus once isInitialSectionListRender becomes false.

shouldSyncFocus={!isTextInputFocusedRef.current}

shouldSyncFocus={!isTextInputFocusedRef.current && !isInitialSectionListRender}

If we want to use transition end, then it becomes

shouldSyncFocus={!isTextInputFocusedRef.current && didScreenTransitionEnd}

@MariaHCD
Copy link
Contributor

I agree that this doesn't need to block the deploy.

@thesahindia could you review the above proposal?

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Apr 22, 2024
@adelekennedy
Copy link

@thesahindia bump on the proposal review!

@melvin-bot melvin-bot bot removed the Overdue label Apr 24, 2024
@thesahindia
Copy link
Member

@bernhardoj's proposal looks good to me!

🎀 👀 🎀 C+ reviewed

Copy link

melvin-bot bot commented Apr 26, 2024

Current assignee @MariaHCD is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new.

@melvin-bot melvin-bot bot removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Apr 26, 2024
Copy link

melvin-bot bot commented Apr 26, 2024

📣 @bernhardoj 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app!

Offer link
Upwork job
Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑‍💻
Keep in mind: Code of Conduct | Contributing 📖

@bernhardoj
Copy link
Contributor

This is already fixed in #40562. I can't reproduce it anymore. Can someone retest?

@MariaHCD
Copy link
Contributor

@izarutskaya could you please retest this to see if it's still reproducible?

@melvin-bot melvin-bot bot added the Overdue label May 1, 2024
@MariaHCD
Copy link
Contributor

MariaHCD commented May 2, 2024

Not overdue, we just need to retest this. cc: @izarutskaya

@melvin-bot melvin-bot bot removed the Overdue label May 2, 2024
Copy link

melvin-bot bot commented May 3, 2024

@MariaHCD @bernhardoj @adelekennedy @thesahindia this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@adelekennedy
Copy link

@izarutskaya has this been retested?

@adelekennedy adelekennedy added the retest-weekly Apply this label if you want this issue tested on a Weekly basis by Applause label May 6, 2024
@melvin-bot melvin-bot bot added the Overdue label May 8, 2024
@adelekennedy
Copy link

I can't reproduce - I'm going to close this one and we can reopen if this happens again?

@melvin-bot melvin-bot bot removed the Overdue label May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor retest-weekly Apply this label if you want this issue tested on a Weekly basis by Applause
Projects
Archived in project
Development

No branches or pull requests

5 participants