-
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
perf: optionsToExclude array to loginsToExclude map #55348
Conversation
It was agreed that the eslint changes can be ignored for this PR (as this would kill the scope for this PR): |
I didn't had time to record videos on all platforms, would appreciate if the reviewer could help out here - thanks!! 🙏 |
Testing/Reviewing today. |
Reviewer Checklist
Screenshots/VideosAndroid: Native01_Android_Native.mp4Android: mWeb Chrome02_Android_Chrome.mp4iOS: Native03_iOS_Native.mp4iOS: mWeb Safari04_iOS_Safari.mp4MacOS: Chrome / Safari05_MacOS_Chrome.mp4MacOS: Desktop06_MacOS_Desktop.mp4 |
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.
LGTM.
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.
LGTM. I think we should skip the ESLint checks on this one since they are all unrelated and would significantly increase the complexity of this PR. Let's address those failures in a follow up
@luacmartins looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
See above ^ |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/luacmartins in version: 9.0.89-0 🚀
|
🚀 Deployed to production by https://github.com/yuwenmemon in version: 9.0.89-8 🚀
|
Explanation of Change
Warning
Based on this PR which needs to be merged first:
We have a lot of places where we check a list of logins against a "exclude list". Comparing the items in one list with another list has O(m * n) complexity. Instead we are now creating a map* with the login. This way we can simply check if an item is present which has O(1) complexity.
Fixed Issues
$ #46590
PROPOSAL:
Tests
Make sure that search results are the same as on prod. Try different search queries.
Offline tests
QA Steps
Make sure that search results are the same as on prod. Try different search queries.
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.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
Android: Native
CleanShot.2025-01-16.at.15.07.08.mp4
Android: mWeb Chrome
CleanShot.2025-01-16.at.15.07.08.mp4
iOS: Native
CleanShot.2025-01-16.at.15.07.08.mp4
iOS: mWeb Safari
CleanShot.2025-01-16.at.15.07.08.mp4
MacOS: Chrome / Safari
CleanShot.2025-01-16.at.15.07.08.mp4
MacOS: Desktop
CleanShot.2025-01-16.at.15.07.08.mp4