-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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-06-05] [$1000] An overlapped skeleton UI in the payment details section #19442
Comments
Triggered auto assignment to @adelekennedy ( |
This comment was marked as duplicate.
This comment was marked as duplicate.
ProposalPlease re-state the problem that we are trying to solve in this issue.An overlapped skeleton UI in the payment details section What is the root cause of that problem?The problem came from here:
When the header view of request money takes a lot of space, Math.celi return a greater number, which make the remaining space couldn't be enough for all the skeleton. What changes do you think we should make in order to solve the problem?Instead of using Math.celi, we should use Math.floor to calculate the number of skeleton lines. const possibleVisibleContentItems = Math.floor(props.containerHeight / CONST.CHAT_SKELETON_VIEW.AVERAGE_ROW_HEIGHT); What alternative solutions did you explore? (Optional)N/A. |
Triggered auto assignment to @conorpendergrast ( |
Bug0 Triage Checklist (Main S/O)
|
Reproduced on Mac OSX Chrome 👍 |
Job added to Upwork: https://www.upwork.com/jobs/~01faa2727c8013d2a4 |
Current assignee @conorpendergrast is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @s77rt ( |
Triggered auto assignment to @dangrous ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.The skeleton is overlapping in chat page. This is easily noticeable when the height of the chat is small. What is the root cause of that problem?I have encountered the same issue while creating a skeleton loader for LHN here. There is an explanation why that happen, but in short, the problem happens because the total height of all skeleton item is bigger than the height of it's container and we are using flex 1 in the container. (Removing the flex 1 will solve the overlap, but will push down the footer) What changes do you think we should make in order to solve the problem?We can use the same solution here which is to wrap the skeleton with a plain
This will allow the skeleton to overflow. |
@hungvu193 Thanks for the proposal. Your RCA makes sense but I think it's intended to use ceil and round up to the closest integer. Otherwise we will see empty space. |
@bernhardoj Thanks for the proposal. Your RCA makes sense as well. Wrapping the skeletonview with a View looks good to me. However I have a question, I can reproduce the bug just for a brief period (or when offline) where the scrollbar is not visible. Then once getting back online the scrollbar is visible and no overlap is seen in this case. Any idea what is that about? Even if we wrap the skeletonview within a View you will still notice that the scrollbar is missing.
|
That's weird. The skeleton shouldn't be scrollable because the overflow is hidden. I'm guessing the skeleton you see when back online is from the footer of App/src/pages/home/report/ReportActionsList.js Lines 159 to 178 in 7a42755
|
We can wrap the skeleton with View and use justify content center, we can reduce the space and it looks just ok. Screen.Recording.2023-05-25.at.14.05.23.mov |
@bernhardoj Thanks for the quick follow up. That seems unrelated to this issue. Let's go with your solution 🚀. 🎀 👀 🎀 C+ reviewed cc @dangrous |
@hungvu193 I don't think we want to reduce the number of rows. There will always be empty space which will make it not look good (especially for cases where the height is so close e.g. assume each row is 50px. A container that is 199px in height will render 3 rows instead of 4 leaving 49px of empty space). |
Yep this looks good to me! |
📣 @bernhardoj You have been assigned to this job by @dangrous! |
Hired everyone via Upwork 👍 |
🎯 ⚡️ Woah @s77rt / @bernhardoj, great job pushing this forwards! ⚡️ The pull request got merged within 2 working days of assignment, so this job is eligible for a 50% #urgency bonus 🎉
On to the next one 🚀 |
PR is reviewed, merged and on Staging |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.19-7 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-06-05. 🎊 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.
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:
|
|
Did we confirm the design with the design team? The skeleton preset should start from the header end edge. This was the case when it was built. It is always good to request reviews from the design team for design related problems. |
Hm @shawnborton what do you think? For payment details chats, should the skeleton UI be aligned to the bottom (like the chats actually show up) or to the top (like other chats)? Could sort of go either way. |
I don't feel strongly either, I would say let's just be consistent with what we do with other chats. |
I'm gonna get this paid tomorrow, haven't forgotten about it |
Paid everyone 👍 @dangrous Can you open a new issue for that design change? |
Oops, I never actually made the issue. To confirm the plan - @shawnborton - Should I create an issue to make the payment details skeleton UI aligned to the top to match how we see other chats? |
I guess at this point a payment details view is just a thread, and a thread is just another kind of chat. So yeah, whatever we do with other chats, we should be consistent with the payment details. Let me know if that's helpful! |
See linked issue! |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result:
The rows of the skeleton UI shouldn't be overlapped
Actual Result:
The rows of the skeleton UI are overlapped
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.17
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-05-19.15.22.18.mp4
az_recorder_20230523_093326.1.mp4
Expensify/Expensify Issue URL:
Issue reported by: @Natnael-Guchima
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684499328591959
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: