-
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
feat(27641): Performance tests of LHN with Reassure #29083
feat(27641): Performance tests of LHN with Reassure #29083
Conversation
feat: add svg transformer for jest
Feat/27641/reassure lhn
fix: add timeout
@Santhosh-Sellavel Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
@mountiny FYI first batch of testing, unblocking LHN. You can see the new logs in the GH Actions output; we'll finally start collecting real regression results after merging this PR, 40+ rerenders is definitely something to improve on! :) |
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.
Thanks @adhorodyski! Glad to see this fixed
const participants = ReportUtils.getDisplayNamesWithTooltips(participantsPersonalDetails, false); | ||
expect(participants).toHaveLength(5); | ||
|
||
expect(participants[0].avatar).toBeInstanceOf(Function); |
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.
Is the object in this case considered as Function? Why is that?
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 think @koko57 you can shed some light on it? If i recall correctly from our sessions it doesn't always come as an object, especially in this Jest environment and Function
was valid.
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.
As we use this svg transformer for jest, we're loading svgs like in the app, we no longer get this object {testUri: ...}. And looking on proptypes this is what we actually expect here (string or function) 🙂
Reviewer Checklist
Screenshots/VideosCI changes, N/A WebMobile Web - ChromeMobile Web - SafariDesktopiOSAndroid |
@adhorodyski Could you fix the typo in the output: Changes look good to me, thank you! |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
Performance Comparison Report 📊Significant Changes To Duration
Show details
Meaningless Changes To DurationShow entries
Show details
|
@Expensify/mobile-deployers 📣 Please look into this performance regression as it's a deploy blocker. |
False positive, CI change |
🚀 Deployed to staging by https://github.com/mountiny in version: 1.3.81-0 🚀
|
🚀 Deployed to staging by https://github.com/mountiny in version: 1.3.83-0 🚀
|
Details
This PR introduces correctly rendered Reassure tests for LHN together with interactions - scrolling & pressing.
What we've observed is that LHN's test was passing but the list wasn't in fact getting rendered. This resulted in a count of
1
and a low duration of0.3ms
no matter the implementation which wasn't measuring any regressions.Please see an updated result measured locally:
![sample-sidebar-test](https://private-user-images.githubusercontent.com/42047036/273574318-f6dc1728-9e80-49d3-b1ce-ce99168b3948.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3MDI4MzcsIm5iZiI6MTczOTcwMjUzNywicGF0aCI6Ii80MjA0NzAzNi8yNzM1NzQzMTgtZjZkYzE3MjgtOWU4MC00OWQzLWIxY2UtY2U5OTE2OGIzOTQ4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE2VDEwNDIxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkyMTUxNWY4NGVmYzUwNzUwNTNkNmM2ZTQwMGQ4MGVjNTA4YjQ1YmE4M2M4ZDIxMTYzNGRiNTU3Mzg2NDU5NTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.156YBwFQPKK-k5rxwx7vSnw1aWS0GhYo79jrHlwzxdo)
Fixed Issues
$ #27641
PROPOSAL: N/A
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Not applicable as this PR includes only performance tests.
Web
Mobile Web - Chrome
Mobile Web - Safari
Desktop
iOS
Android