[TS migration] Migrate MenuItem to Typescript#31141
Conversation
|
@shubham1206agra 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] |
|
@shubham1206agra please wait a little bit, I forgot to record videos. Unless this is not blocking you |
|
@MaciejSWM Please ping here whenever you have completed the videos |
|
@shubham1206agra ready |
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeiOS: NativeScreen.Recording.2023-12-19.at.6.53.52.PM.moviOS: mWeb SafariScreen.Recording.2023-12-19.at.6.32.51.PM.mp4MacOS: Chrome / SafariScreen.Recording.2023-12-19.at.6.25.33.PM.mp4MacOS: DesktopScreen.Recording.2023-12-19.at.6.44.32.PM.mp4 |
|
We did not find an internal engineer to review this PR, trying to assign a random engineer to #25144 as well as to this PR... Please reach out for help on Slack if no one gets assigned! |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
Thank you @deetergp! |
|
🚀 Deployed to staging by https://github.com/deetergp in version: 1.4.15-0 🚀
|
|
@deetergp @blazejkustra @kubabutkiewicz @fabioh8010 I'm getting typescript errors of missing props while using |
|
@pac-guerreiro Can you mark other props that also became required by mistake? |
|
🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.4.15-5 🚀
|
|
@shubham1206agra You can check the props that need to be optional here -> https://github.com/Expensify/App/pull/33242/files#diff-9db0c2baf85f38b9a238d03f1089a686039ab6c6b94ef412bda920293909b7a4 When the above PR is merged, these issues will be fixed! |
| /> | ||
| )} | ||
| {/* Since subtitle can be of type number, we should allow 0 to be shown */} | ||
| {(subtitle ?? subtitle === 0) && ( |
There was a problem hiding this comment.
This line created a regression when subtitle is 0. More details #35358

Details
This is quite a delicate migration - 50 props used in all of the places across the app - the MenuItem is used in all the screens in the RIght Hand Panel and some of the screens in the Global Nav screens. Please test those screens.
Fixed Issues
$ #25144
PROPOSAL:
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Screen.Recording.2023-12-19.at.15.18.51.mov
Android: mWeb Chrome
Screen.Recording.2023-12-19.at.15.18.51.mov
iOS: Native
Screen.Recording.2023-12-19.at.14.34.01.mov
iOS: mWeb Safari
Screen.Recording.2023-12-19.at.14.35.16.mov
MacOS: Chrome / Safari
Screen.Recording.2023-12-19.at.14.31.31.mov
MacOS: Desktop
Screen.Recording.2023-12-19.at.14.32.03.mov