-
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 07-31-2024][$250] CRITICAL [UX Reliability] The loading skeleton exhibits three different behaviors #43791
Comments
Triggered auto assignment to @lschurr ( |
Triggered auto assignment to @tgolen ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.UX Reliability issue: The loading skeleton exhibits three different behaviors. Sometimes skeleton view shown above one or two report actions, sometimes doesn't show up, sometimes full cover skeleton shown in What is the root cause of that problem?When user open app / first OpenApp, back end returns certain reportActions types (IOU report actions, reportpreview aciton, and some others...). There are three different case:
What changes do you think we should make in order to solve the problem?When opening a report, OpenReport will return around 100 latest reportActions. We could show full skeleton view when getContinous reportActions : App/src/pages/home/ReportScreen.tsx Lines 257 to 261 in 75c104b
When the continuous reportActions doesn't reach around 50 / 100 or the oldest reportAction type isn't In the end there will be two behavior, If cached report actions exist and fulfill the criteria above we immediately show it. If the above criteria doesn't met we display full skeleton view and wait for OpenReport to be completed. App/src/pages/home/ReportScreen.tsx Lines 382 to 384 in 75c104b
The shouldShowSkeleton could be: const isCreatedActionExist = ReportActionsUtils.isCreatedAction(reportActions.at(-1));
const shouldShowSkeleton =
(isLinkingToMessage && !isLinkedMessageAvailable) ||
(reportActions.length < 50 && !isCreatedActionExist && !!reportMetadata?.isLoadingInitialReportActions) ||
isLoading ||
(!!reportActionIDFromRoute && reportMetadata?.isLoadingInitialReportActions); The in here Result:web.mp4 |
I'm going to discuss this internally first to see what the expected behavior should be. |
Job added to Upwork: https://www.upwork.com/jobs/~013a31dcebc0c8e5de |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @abdulrahuman5196 ( |
OK, it sounds like the solution from @tsa321 is inline with our expectations. I'm going to label this as external and then the C+ can give the proposal a look. |
@abdulrahuman5196 is ooo, let's reapply the label |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @akinwale ( |
@lschurr There was a regression, so I'll need to review the PR. |
Any update here @akinwale? Have you had a chance to review the PR? |
Not yet. I will wrap this up tonight. Thanks for the reminder. |
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. |
Update: The PR was deployed to production 3 days ago. |
@lschurr It looks like this is ready for payment as the follow-up PR has been in production for over a week now. Thanks. |
Payments are complete. |
I think we needed a regression test for this one |
Do you think we can create a regression test here? @akinwale? |
Not a regression.
Regression Test Steps
Do we agree 👍 or 👎? |
@muttmuure Done. |
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: v1.4.83-3
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: @muttmuure
Slack conversation: https://expensify.slack.com/archives/C05LX9D6E07/p1718365848007159
Action Performed:
Expected Result:
Skeleton animation work as expected
Actual Result:
At times the static image of the skeleton shows and the skeleton doesn’t appear at all.
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Blurred.animations.mov
Recording.220.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @akinwaleThe text was updated successfully, but these errors were encountered: