chore: Migrate icons UI controls & actions to lazy loading#80440
Conversation
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppCleanShot.2026-01-02.at.14.25.29.mp4Android: mWeb ChromeCleanShot.2026-01-02.at.14.25.29.mp4iOS: HybridAppCleanShot.2026-01-02.at.14.24.08.mp4iOS: mWeb SafariCleanShot.2026-01-02.at.14.27.18.mp4MacOS: Chrome / SafariCleanShot.2026-01-02.at.14.37.46.mp4 |
|
Thanks @tdy2k for creating new PR! Just need to resolve the conflict! |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
No product considerations, removing my review |
Thanks @mollfpr. Finished. |
|
Friendly Bump @mollfpr before conflicts occur. Thank you |
mollfpr
left a comment
There was a problem hiding this comment.
Sorry for the delay, I was OOO. 🙏
Leave few comments to clarify.
mollfpr
left a comment
There was a problem hiding this comment.
Leave a comment and we have failing checks and conflict.
|
Finished @mollfpr |
|
@tdy2k We have a failing eslint, could you fix it? Thanks! |
471b75c to
f31b596
Compare
|
|
Hello @mollfpr I am very sorry for the force push. Accidentally misused the Github GUI feature. |
|
If possible. Can we please start the workflows today and merge before monday after monday a lot of commits will arrive and I will be again forced to resolve conflicts |
33c954e to
9293e89
Compare
|
Conflict Resolved. |
|
Bump @mollfpr |
|
Checking 👀 |
mollfpr
left a comment
There was a problem hiding this comment.
LGTM! Waiting for the checks finish.
|
@tdy2k there’s a failing eslint, could you check? Thanks! |
|
Bump @tdy2k |
They were unrelated it was SENTRY. Checking it out Thank you |
…e-icons-UI-controls-and-actions-to-lazy-loading # Conflicts: # src/CONST/index.ts # src/components/Attachments/AttachmentCarousel/CarouselItem.tsx # src/components/ConnectToNetSuiteFlow/index.tsx # src/components/DistanceRequest/DistanceRequestFooter.tsx # src/components/LHNOptionsList/LHNOptionsList.tsx # src/components/MoneyRequestHeader.tsx # src/components/MoneyRequestReportView/SearchMoneyRequestReportEmptyState.tsx # src/components/TransactionItemRow/TransactionItemRowRBR.tsx # src/components/VideoPlayerContexts/VideoPopoverMenuContext.tsx # src/pages/EditReportFieldPage.tsx # src/pages/iou/request/step/IOURequestStepDistanceOdometer.tsx # src/pages/settings/AboutPage/ConsolePage.tsx # src/pages/settings/Profile/CustomStatus/StatusPage.tsx # src/pages/settings/Security/SecuritySettingsPage.tsx # src/pages/settings/Security/TwoFactorAuth/VerifyPage.tsx # src/pages/settings/Subscription/SubscriptionPlan/SubscriptionPlanCard.tsx # src/pages/settings/Wallet/ChooseTransferAccountPage.tsx # src/pages/workspace/WorkspaceMembersPage.tsx # src/pages/workspace/categories/WorkspaceCategoriesPage.tsx # src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx # src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx # src/pages/workspace/taxes/WorkspaceTaxesPage.tsx
|
Finished @mollfpr Also verified npm run lint, npm run lint-changed, and npm run typecheck Can you run the workflows and merge if possible now please? Conflicts are becoming headache |
|
Run Prettier Lets start. cc @mollfpr Hoping to merge today |
|
Running the workflow. |
|
Workflows finished |
|
🚧 @mollfpr has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/mollfpr in version: 9.3.26-0 🚀
|
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.3.26-8 🚀
|
Explanation of Change
Migrate icons UI controls & actions to lazy loading
Fixed Issues
$ #75253
PROPOSAL: #75253 (comment)
Tests
Pin icon
Send icon
Trashcan icon
Copy icon
QrCode icon
Checkmark icon
Plus icon
Offline tests
Same as tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same as tests
PR Author Checklist
onIconClick)STYLE.md) were followedStyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
Demo.mp4