-
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 2024-01-22] [$500] Web - tasks - Only half of the screen shows loading animation when creating tasks offline #33659
Comments
Job added to Upwork: https://www.upwork.com/jobs/~01c332001739a50ea1 |
Triggered auto assignment to @sonialiap ( |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @mananjadhav ( |
This is intentional. The short skeleton is shown when there is at least one action in the report (which is the new optimistically created task). |
@Expensify/design can you confirm if the behaviors is intentional? |
ProposalPlease re-state the problem that we are trying to solve in this issue.When adding an optimistic report action, the long skeleton gets replaced with a short one. What is the root cause of that problem?This happens when we add a new optimistic ReportAction. App/src/pages/home/ReportScreen.js Line 186 in 5c5c862
As a result, we don't show the full-height skeleton here: App/src/pages/home/ReportScreen.js Line 498 in 5c5c862
Instead, we show one from here, which has App/src/pages/home/report/ListBoundaryLoader/ListBoundaryLoader.js Lines 51 to 53 in 5c5c862
What changes do you think we should make in order to solve the problem?We should separate the if (type === CONST.LIST_COMPONENTS.FOOTER) {
if (isLoadingOlderReportActions) {
return <ReportActionsSkeletonView />;
}
const isReportLoadedTillBeginning = lastReportActionName === CONST.REPORT.ACTIONS.TYPE.CREATED;
// Make sure the report chat is not loaded till the beginning. This is so we do not show the
// skeleton view above the "created" action in a newly generated optimistic chat or one with not
// that many comments.
if (!isReportLoadedTillBeginning && isLoadingInitialReportActions) {
return <ReportActionsSkeletonView />;
}
// If we are offline and the report is not yet loaded till the beginning, we assume there are more actions to load,
// therefore show the skeleton view even though the actions are not loading.
if (!isReportLoadedTillBeginning && isOffline) {
return <ReportActionsSkeletonView possibleVisibleContentItems={3} />;
}
} With this implementation, we'll always show the full-height skeleton when the skeleton is needed, except for one specific offline flow. We'll still want to show the 3-lines-high skeleton only in the offline mode when the first set of actions was loaded before going offline: Offline skeleton
iOS.mp4Result:Screen.Recording.2024-01-02.at.10.07.22.movWhat alternative solutions did you explore? (Optional) |
@mananjadhav, @sonialiap Whoops! This issue is 2 days overdue. Let's get this updated quick! |
I believe we added a bunch more skeleton comment loaders a bit back, but I could be wrong. Either way it seems a bit weird that some convos have many and some have few. I'd prefer for it to be more consistent and have similar amounts. @shawnborton and @dannymcclain might have more context and thoughts though |
Agree, would love to make this consistent everywhere and increase the amount of loader rows so it feels like the entire conversation is filled up. |
Thanks for the clarification. In that case, my proposal remains relevant. Updated it now. |
I agree with Jon and Shawn! |
@mananjadhav, @sonialiap Eep! 4 days overdue now. Issues have feelings too... |
ProposalPlease re-state the problem that we are trying to solve in this issue.When adding an optimistic report action, the long skeleton gets replaced with a one of 3 items What is the root cause of that problem?We are setting 3 items to be loaded here:
What changes do you think we should make in order to solve the problem?Remove the
|
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Just confirming @shawnborton @dubielzyk-expensify. We want it to be the filled even for the offline mode? or retain the existing limit of 3 rows? Considering the existing behavior, and that @paultsimura had the first RCA along with the proposal, I think @paultsimura's proposal is good here. 🎀 👀 🎀 C+ reviewed |
Triggered auto assignment to @madmax330, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
I kinda think we'd just fill it up more regardless of offline or not. cc @Expensify/design for thoughts. |
Same. |
Agree with that |
@mananjadhav my proposal goes with the team thoughts. Fill the space regardless of offline or not. |
@dragnoir as Manan mentioned, my proposal was the first to give the correct RCA along with a potential fix. The 3-lines matter was still in discussion, and it's a tiny implementation detail that's usually handled during the PR discussion. |
@paultsimura pls check how a tiny implementation details is handlel here: #33709 |
That's a different situation: in your case, the other proposal was an addition to yours, not just "the team should decide which height to use". Anyway, I think we'll come back to the 3-lines skeleton discussion once more during the PR development. I'll provide more reasoning as to why it might be still useful because here the discussion was a bit obscured by using "offline/online" terminology instead of the actual use-case for this skeleton. |
📣 @paultsimura 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
Thanks. The PR is ready for review: #34114 |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.24-8 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 2024-01-22. 🎊 For reference, here are some details about the assignees on this 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:
|
This could be treated as a change request as the skeleton view was intended to be 3 lines when added. I also don't think we need a regression test for this one. @sonialiap Would need the payout summary on 01/22. Thanks in advance. |
@mananjadhav $500 - please request through NewDot |
$500 approved for @mananjadhav based on summary above. |
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.18-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
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:
Expected Result:
The loading animation should cover the available space above the task created
Actual Result:
The loading animation only covers half of the screen and half of the screen stays blank
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6326971_1703703743325.27.12.2023_21.31.59_REC.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: