-
Notifications
You must be signed in to change notification settings - Fork 1.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
Fix the blocking issue in main thread in the Notifications tab #20197
Fix the blocking issue in main thread in the Notifications tab #20197
Conversation
📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
|
📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
|
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## feature/notifications_refresh_p1 #20197 +/- ##
====================================================================
- Coverage 40.11% 40.11% -0.01%
====================================================================
Files 1469 1469
Lines 67755 67757 +2
Branches 11226 11226
====================================================================
Hits 27179 27179
- Misses 38082 38084 +2
Partials 2494 2494 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your work on this @jarvislin 🙇
I've tested the implementation and the perceived performance has improved compared with the main feature branch 🎉
Fixes #20196
When I was profiling the threads, I found the main thread spent much time rendering the layouts. It continues re-rendering the UI even though the new data is the same as the old data.
This PR contains:
DiffUtil
for resolving the issue.To Test:
P.S. We still have issues in main thread, but it is smoother than the original implementation.
Regression Notes
Potential unintended areas of impact
What I did to test those areas of impact (or what existing automated tests I relied on)
What automated tests I added (or what prevented me from doing so)
PR Submission Checklist:
RELEASE-NOTES.txt
if necessary.Testing Checklist: