-
Notifications
You must be signed in to change notification settings - Fork 3k
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 2023-10-09] [$1000] The transition animation doesn't work for the request money page #22388
Comments
Triggered auto assignment to @JmillsExpensify ( |
Bug0 Triage Checklist (Main S/O)
|
ProposalPlease re-state the problem that we are trying to solve in this issue.When we click on the currency or next in requestmoney page there is no horizontal sliding animation What is the root cause of that problem?The root cause of that problem is that in:
we use an OptionsSelector for example here App/src/pages/iou/IOUCurrencySelection.js Lines 119 to 129 in c0ece67
By default OptionSelectors focus the input here:
And that can cause the transition animation to be stopped. What changes do you think we should make in order to solve the problem?We can use the same method that was used here https://github.com/Expensify/App/pull/22621/files to focus the input, for our case we are not in the same file that the input when we declare the screenwrapper so we will have to use forward ref in BaseOptionSelector. The problem with that solution is that the input is not focused when we reload the page because onEntryTransitionEnd is never called. In ScreenWrapper before we declare the listener for the end of the transition we can check the active route index in the stack, if it is 0 it means that we accessed this page without transition and we can call onEntryTransitionEnd directly without passing by the listener What alternative solutions did you explore? (Optional)We can set up a boolean isTransitionHappening to true by listening to the event transitionStart, I think we should do that in Navigation. And test if that boolean is true before setting up the listener for the end of the transition |
hmmm weird, I think we never had shouldDelayFocus on these, was going through the recent commits on the file and seems like something got wrong after navigation refactor maybe? |
@chiragxarora I am not sure but maybe that has to do with that PR where we added withNavigationFocus: https://github.com/Expensify/App/pull/19824/files |
@JmillsExpensify Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Hmm, yeah I'm not sure how/why these pages stopped being animated with the page coming in from the right. Regardless, I agree we should consistently animate, so I'm opening this one up to the community. |
Job added to Upwork: https://www.upwork.com/jobs/~01571ed2ce05eced7f |
Current assignee @JmillsExpensify is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @eVoloshchak ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.The transition animation doesn't work for the request money page What is the root cause of that problem?Root Cause of the issue is that we have an input inside the modal which is having Existing issues like #22036 does possess same problem like this. What changes do you think we should make in order to solve the problem?The simple solution we can use is adding To resolve this we should manually handle focus of input. ChangesApp/src/pages/iou/steps/MoneyRequstParticipantsPage/MoneyRequestParticipantsSplitSelector.js Line 167 in a047b88
autoFocus={false} to disable auto-focus.
From here
We can take the state App/src/pages/iou/steps/MoneyRequstParticipantsPage/MoneyRequestParticipantsPage.js Line 98 in a81b63a
Like the following autoFocus={didScreenTransitionEnd} Using this inside these two components App/src/pages/iou/steps/MoneyRequstParticipantsPage/MoneyRequestParticipantsPage.js Line 105 in a81b63a
App/src/pages/iou/steps/MoneyRequstParticipantsPage/MoneyRequestParticipantsPage.js Line 98 in a81b63a
We create ref maybe like const optionRef = useRef(null) and assign this ref here App/src/pages/iou/steps/MoneyRequstParticipantsPage/MoneyRequestParticipantsSelector.js Line 156 in a81b63a
using the below code ref={(element) => optionRef.current = element} And when we see the optionRef.current.textInput.focus() Also if we have a high traffic account which does have multiple user contacts in that case also the transition could get effected to fix this we should add a check here as well App/src/pages/iou/steps/MoneyRequstParticipantsPage/MoneyRequestParticipantsSelector.js Line 153 in a81b63a
What alternative solutions did you explore? (Optional)I have seen this issue happens in other places as well, we could consider conditional rendering here App/src/components/ScreenWrapper/index.js Line 84 in 85739ea
Adding a conditional rendering based on the state Resultkk.mp4 |
@b4s36t4 did this work for you? |
It was working for me. |
great! |
@chiragxarora Updated the proposal with the video. |
Hello @b4s36t4 can you also check my proposal here: #22388 (comment) We use onDelayFocus everywhere so I don't understand @chiragxarora comment about it. |
I think he's saying we never did added |
This has the same RCA as #22271, also my proposal can solve this as well with some more configurations. @allroundexperts Do you think we should combine all the autofocus-block-transition issues and fix them all at once as you've pointed out in #22271 (comment)? |
I think we should combine them, yes. |
Update: So far I have found three affected pages:
Will dig deeper tomorrow. |
By the way if I understand correctly someone is trying to fix this problem in every page at the same time here: #19530 (comment) |
@JmillsExpensify this issue appears to be eligible for the #urgency bonus. The PR was created, tested, and C+ approved within 3 working days of assignment. It was only delayed by me, so I think it's fair that @tienifr and @eVoloshchak get the urgency bonus. Thanks! |
This comment was marked as off-topic.
This comment was marked as off-topic.
@mountiny Did you comment on the wrong issue? The regression issues were 28417 and 26945. Not this one. |
oops, yes, but speaking of devil this deploy blocker seems highly related to this PR/issue #28523 can you have a look @tienifr @eVoloshchak |
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results. If a regression has occurred and you are the assigned CM follow the instructions here. If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future. |
Coming back from this issue #28523 the PR linked is already in staging, but the request money page transitions are not working. also noticed different bug which I will report in expensify bugs Screen.Recording.2023-10-02.at.16.06.08.mp4 |
@mountiny Hmm I'm not sure about your expectations for transition animation here? I see that it's working fine. Can you elaborate more? |
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.75-12 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 2023-10-09. 🎊 After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.
For reference, here are some details about the assignees on this issue:
As a reminder, here are the bonuses/penalties that should be applied for any External issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
@tienifr for example on the 14th second you can see the page blinks completely, in others you can see the transition is not smooth I understand if that is related to more generic issues such as too heavy rerenders, but wanted to raise that |
I believe based on the above the correct payment summary is:
@mountiny Did you potentially want to ask for a follow-up PR, or are you good with this summary? |
We are good here |
Issue reporter and contributor have been paid. @eVoloshchak Please complete the BZ checklist and add a request via NewDot so we can get this issue closed. Thanks! |
|
$1,500 payment approved for @eVoloshchak based on BZ summary. |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
HOLD on #26415
Action Performed:
Expected Result:
The new page opens with an horizontal animation
Actual Result:
The new page opens without animation
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.37-2
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
2023-07-05.19-26-27.mp4
Recording.1207.mp4
Expensify/Expensify Issue URL:
Issue reported by: @ShogunFire
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688606747153309
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: