-
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
[PAY WENTAO - FEB 7th][$500] BNP - Black screen appears on transfer from BNP to Attendee screen #31779
Comments
Job added to Upwork: https://www.upwork.com/jobs/~01d583113b9a89a85a |
Triggered auto assignment to @jliexpensify ( |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ntdiary ( |
I cannot reproduce the bug. Is there something i have been missing? Screen.Recording.2023-11-23.at.13.05.06.mov |
📣 @felix-lambert! 📣
|
Contributor details |
✅ Contributor details stored successfully. Thank you for contributing to Expensify! |
@izarutskaya curioous why you're testing on 1.4.2.0? I'm on staging and can see this issue on v1.4.3-1 - shouldn't you be testing on the most recent versions? Anyway, I can repro this one - the lag is about 1 second. |
ProposalPlease re-state the problem that we are trying to solve in this issue.We are experiencing a lag in transition effects within our application, most noticeably when interacting with a large number of contact entries. This issue affects the fluidity and responsiveness of the user interface, particularly during operations that involve extensive contact lists. What is the root cause of that problem?The root cause of this lag is the intensive computational demand of the The performance lag in theOptionsListUtils.js file is caused by the way the personalDetails object is handled. At line 433, there's a loop where personalDetails is repeatedly accessed within each iteration. This object, being very large, leads to a heavy computational load. The issue is exacerbated because each loop iteration requires accessing this large object to retrieve values for the createOption function, resulting in significant performance degradation due to the intensive and repeated data processing involved. What changes do you think we should make in order to solve the problem?To address this issue fast, I propose the following changes:
I'm basically detecting when the animation of the transition is finished, ensuring UI responsiveness is maintained :) What alternative solutions did you explore? (Optional)To go deeper, I have a few options to propose for addressing the performance issue.
|
@ntdiary, @jliexpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Bumping @ntdiary for reviews please! |
@jliexpensify, thank you for the reminder! Will review it today. :) |
The Maybe we can explore how to reliably delay its invocation to avoid this transition lag. |
Yes I agree. We can see how to add a delay so that the animation of the modal is finished before the invocation of the getOptions function. Do you want me to work on this issue? |
ProposalPlease re-state the problem that we are trying to solve in this issue.The issue at hand involves a lag and the display of a black screen instead of the expected skeleton loading during the rendering of the contact list. What is the root cause of that problem?We notive some points here: 1- Resource-intensive 2 - Delayed Rendering of Contact List: 3 - Lack of Skeleton Loading Display: What changes do you think we should make in order to solve the problem?1 - Asynchronous Processing of 2 - Utilizing 3 - State Management for Step 2 and 3 we modify the following sections in
and
What alternative solutions did you explore? (Optional) |
@felix-lambert, that is just my general idea (also just one of the possible solutions). Typically, we need a concrete and feasible solution before we can start assigning and raising a PR. :) |
@brunovjk, if you recommend asynchronous operations, can you pelease provide more details? Btw, It seems that we haven't used the worker in our app yet. |
Hey @ntdiary sorry just discovering this great project :) Was thinking of doing something like this >
Don't hesitate if you need more details. I'm basically detecting when the animation of the transition is finished, ensuring UI responsiveness is maintained :) |
@ntdiary, I appreciate your answer. I'm currently in the process of testing approaches to ensure a seamless integration without introducing new bugs. I'll provide a detailed update as soon as I have a concrete async implementation. I noticed that the skeleton placeholder, which is typically rendered in other parts, like in @felix-lambert update your proposal :D |
App/src/pages/iou/request/MoneyTemporaryForRefactorRequestParticipantsSelector.js Line 322 in 4239252
We can also change the above condition to didScreenTransitionEnd && isOptionsDataReady .Additionally, although the refactor PR has been merged, there are still some blockers that need to be resolved, so it would be better to put this issue on hold for a few days. 😂 |
Thank you for the feedback @ntdiary, makes senses, I liked this |
This issue has not been updated in over 15 days. @ntdiary, @lakchote, @jliexpensify, @brunovjk eroding to Monthly issue. P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do! |
We're still investigating, PR |
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. |
Hello @jliexpensify the PR that fixed this issue was deployed today, but I didn't link the issue correctly over there, so I think the automation was broken, and it didn't receive the HOLD payment for 7 days tag here. Do you think I should do something or is everything ok? Thanks for your time. |
Hi @brunovjk - we generally pay 7 days after deployment to So I would say the payout date would be the 7th Feb? |
Exactly. Awesome! Thank you @jliexpensify |
Payment Summary @ntdiary anything on the checklist that needs to be completed? |
@jliexpensify, we didn't add the skeleton animation for transition on this selector page before, so this issue can be considered as UI/UX optimization rather than a bug, and it doesn't require regression test. :) |
Hi @ntdiary , can you accept the offer so I can pay you? |
Paid @brunovjk |
Ah, @jliexpensify, sorry for the delay, have just accepted it. 😂 |
Hey @ntdiary - there was an error when I tried paying you, can you confirm you got the payment? |
Actually I think I know the issue - I may have accidentally created a per-hour contract instead of one for the full amount. Going to end this contract and re-hire you, sorry! |
@ntdiary sorry, re-hired you! |
@jliexpensify, re-accepted. 😄 |
Paid and job closed! Upworks is so frustrating, there's no way to change a contract from hourly to fixed amount after it's been accepted! |
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: 1.4.2-0
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
Expensify/Expensify Issue URL:
Issue reported by: Applause-Internal Team
Slack conversation: @
Action Performed:
Expected Result:
Attendee screen should be display and no lagging and transfer error should be present
Actual Result:
Black screen appears on transfer from BNP to Attendee screen
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Bug6287893_1700694798230.Recording__1396.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: