-
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
fixed modal animations #2680
fixed modal animations #2680
Conversation
Requesting reviews from those who reviewed the original PR as they will have additional context! |
I have excluded the changes for the Emoji Picker as my changes caused a regression and i think its better to work on Emoji Picker separately as there couple of things that need to be fixed on it. @marcaaron Initially I was suggesting to update the So sticking to navigation event is fine. but the lib may be updated as there are no breaking changes, if wanted. |
@parasharrajat can we maybe figure out how to apply this solution to the IOU pages? The animations there are still inconsistent. 2021-05-04_10-15-41.mp4Also, note there is still some lag when opening the search, new chat, new group pages. Which is probably something in addition to waiting for the text input. Could we maybe wait until the transition is done to do some extra work being done on those pages? I'm also curious if we can incorporate this into the
Lmk if that makes sense? I think it will give us a more sustainable way to handle similar issues in the future. |
src/components/OptionsSelector.js
Outdated
} | ||
|
||
componentWillUnmount() { | ||
this.unsubscribeTransitionEnd(); |
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.
I could be wrong, but I thought this could be more useful in the ScreenWrapper
and then we just pass a prop like isScreenTransitioning
. Maybe it would be more complicated. Perhaps the same could be done with an HOC so we don't need to drill something like an isScreenTransitioning
prop down.
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.
Of course, it depends on if there are other places where we'll need to do this. I think there already are..
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.
+1, this looks like something that'll be needed down the road
@marcaaron I noticed the same In our case rendering the optionList is very expensive. I would try to see what can be done to minimize the load. And good Idea in moving the logic to ScreenWraper. |
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.
I wonder about creating a HOC for isScreenTransitioning
, seems like a good idea and I'd like to get your thoughts
It seems that HOC will be good. |
So I profiled the pages and found that the fps is pretty low for the app. We have a lot of long tasks and some microtasks take a long time to finish. I was not really able to pinpoint that to the source in our app as performance tools are not pointing it correctly on chrome but efforts are still continued on it. Few things I noticed.
Any help in how can I correctly pinpoint the source code while profiling will be great. Browser points to the low lever lib code instead. |
Nice! That might be a good place to start as it is easy to delay the rendering and replace with a loading spinner.
Not sure how to get around this one. Maybe a custom animation for the drawer content. It seems like an issue that has been reported before.
We should be. At least for avatars, once they load they are not loaded again. 2021-05-06_07-17-50.mp4 |
@marcaaron Just found some evidence of Onyx could block the thread. So I think the changes you suggested a while back about reusing the subscription and just emitting data from the memory if there are existing subscribers for the key, will work great here. https://expensify.slack.com/archives/C01GTK53T8Q/p1620065578311900. onyx.mp4I could think of few things which are already suggested by a lot of persons.
|
@parasharrajat Got it, I think we can wait for Kid Roca to work on that issue in the Slack thread.
This would require a refactor of Onyx, but agree it could be nice. I think it's not in scope for this issue. The changes here are looking great! So I think we can roll with what we have and then propose additional improvements later? |
Yeah, those changes are not under the PR scope. I have just updated the Video for Web where you can see the loader added. |
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.
Looks good had a few suggestions.
@marcaaron Updated. |
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.
Looks great and works great.
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.
tested locally and works, nice! Don't forget to resolve the merge conflicts.
1094dca
@jasperhuangg Updated. |
🚀 Deployed to staging in version: 1.0.42-2🚀
|
This PR may have caused a regression. The weird thing is it's very inconsistent: sometimes the |
On the revert branch I am unable to reproduce the regression, so I think we should revert this PR and try again. |
Thanks. I was going to point that in the slack. It seems that |
🚀 Deployed to production in version: 1.0.44-0🚀
|
Paying now! Apologies for the delay @parasharrajat, nice job! |
Wait we have revert the PR. New PR is in WIP. @MitchExpensify |
My mistake. Can you point me to the new PR or does that exist yet? |
Here it is #2956. We faced one regression on IOS for which there is no strong reason why it is happening on IOS but let me just ask Marc what does he think about it? |
Awesome, thanks. I'll keep an eye on that and end the contract once its merged and no issues after 7 days. |
Please review.
Details
Details can be read #2335 (comment)
Fixed Issues
Fixes #2335Tests / QA Steps
Tested On
Screenshots
Web
animation.mp4
Mobile Web
animation-mWeb.mp4
Desktop
animation-des.mp4
iOS
Not able to record it as I have MAC VM but the animation on IOS works smoothly.
Android
1620411237903.mp4