fix: infinite loaders in report section#56819
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
I have read the CLA Document and I hereby sign the CLA |
|
@fedirjh is assigned in the issue |
|
@martasudol can you make sure to test deeplinks to reports you have not opened before? Also deeplink to a report action further in a history of the chat where we need to load the surrounding report actions. Thank you! |
@mountiny I've just finished testing it. Works for both reports I have not opened before and report action further in a history of the chat. 🤞 |
Reviewer Checklist
Screenshots/VideosAndroid: NativeCleanShot.2025-02-25.at.19.17.12.mp4Android: mWeb ChromeCleanShot.2025-02-25.at.19.26.51.mp4iOS: mWeb SafariCleanShot.2025-02-25.at.13.50.30.mp4MacOS: Chrome / SafariCleanShot.2025-02-25.at.13.19.10.mp4MacOS: DesktopCleanShot.2025-02-25.at.19.40.46.mp4 |
|
@martasudol Skeleton isn’t displayed when I switch between reports |
…skeleton loader distinction
|
-315 LOCs working while more correct & snappy, love it! |
@fedirjh thanks for your feedback!
Our plan is to improve loading state perception (including less "blinking" skeletons and loading bars when data is already present) in a separate task (so your case will be handled in "improve perception" ticket'; as a next step of improvements and it will be addressed by loading bar). @mountiny let us know what's your preference - should we stick with our plan to address this in the upcoming task, or would you prefer we address it here as well. |
|
I dont think its blocker personally if we follow up in making the feedback even better, but I agree that the empty blank page there is also not looking great. Curious if @Expensify/design thinks its ok to move with this step first and then follow up with improvement or if we should try to bundle it all together to one big PR (however that increases changes or regressions and need to potentially revert) |
|
@fedirjh thank you so much for your review and noticing these issues! I've already pushed fixes so feel free to test it again. Current behavior for online status after clearing cache: clear_cache_online.movCurrent behavior for offline status: offline.mov |
|
@martasudol Thank you for the addressing the bugs. I confirm that both bugs are fixed for me 🚀 |
|
@fedirjh is this ready to go from your perspective |
mountiny
left a comment
There was a problem hiding this comment.
Thanks @fedirjh @martasudol Changes look good to me but I am afraid there will be blockers from this as the code is complex and things can break here in many spots.
Please be ready to raise a revert if there is more blockers - better to revert and fix it slowly than rushing for fixed @martasudol
I have limitted availability in coming days so also it will help the deployer if you are ready for it
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
@mountiny we're expecting the same, hope we can just get this in place with as little number of iterations as possible 😅 |
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.1.7-1 🚀
|
|
Hey, team! We have an issue on HybridApp where "No activity yet" is displayed briefly when opening room notification. I wonder if this might be related to this PR Here's the issue: #57585 Could you take a look @martasudol @fedirjh @adhorodyski ? Thanks! |
|
Hey @MariaHCD, thanks for letting us know. I think it is related, we fixed the same quick flash for other scenarios before and it definitely should only hit the loading skeleton and then content. |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.1.7-2 🚀
|
| // There should be only one openReport execution per page start or navigating | ||
| fetchReport(); | ||
| // eslint-disable-next-line react-compiler/react-compiler, react-hooks/exhaustive-deps | ||
| }, [route, isLinkedMessagePageReady, isLoadingReportOnyx, reportActionIDFromRoute]); |
There was a problem hiding this comment.
This accidentally introduces an edge case here. More details in this comment
| if ( | ||
| !force && | ||
| (!!network.isOffline || | ||
| isLoadingOlderReportActions || |
There was a problem hiding this comment.
We removed a code here that avoids making more getOlderActions requests before the previous request is resolved. So it is causing this issue of making Multiple API calls for GetOlderActions. So I am proposing to avoid making GetOlderActions when the report meta data is isLoadingOlderReportActions is true here So we wanted to make sure that wouldn't have a negative impact here. So @martasudol is there any specific reason you removed this condition here? Thanks in advance.


Explanation of Change
Removed Onyx flags conditions in ReportScreen.tsx as they were causing infinite loaders.
Fixed Issues
$ #57174
PROPOSAL: https://expensify.slack.com/archives/C05LX9D6E07/p1739443969065029
Tests
Offline tests
Same as Tests
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
https://github.com/user-attachments/assets/f24ae938-86de-47c8-880d-7b85a46d2e2aAndroid: mWeb Chrome
https://github.com/user-attachments/assets/0083dc70-37d5-4ae8-a4cd-76c1520a09e7iOS: Native
https://github.com/user-attachments/assets/9a1a714c-9059-4d24-8fee-cfa7fb99fa14iOS: mWeb Safari
https://github.com/user-attachments/assets/db45fe4e-8fd2-42e1-87d4-e8d9d60939f7MacOS: Chrome / Safari
https://github.com/user-attachments/assets/9d156da8-6085-4ac2-a9d4-a9f4cbd92558MacOS: Desktop
https://github.com/user-attachments/assets/2b3d3f66-b770-48e8-8a4b-02d0b121af67