[TS migration] Migrate 'ReportActionCompose' component to TypeScript#34646
Conversation
…s-migration/ReportActionCompose
…stions and ReportActionCompose
…, start migrating ReportTypeingIndicator
…s-migration/ReportActionCompose
…s-migration/ReportActionCompose
…s-migration/ReportActionCompose
…s-migration/ReportActionCompose
…s-migration/ReportActionCompose
|
@Ollyws no idea yet, I am looking into this |
|
@Ollyws there is one additional rerender caused by usage of |
|
Sounds fine to me, but let's double check with an internal engineer. |
@roryabraham @mountiny Are we good with this ? |
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 |
Ollyws
left a comment
There was a problem hiding this comment.
Aside from the perf-tests failing as discussed in #34646 (comment), LGTM.
|
We did not find an internal engineer to review this PR, trying to assign a random engineer to #31984 as well as to this PR... Please reach out for help on Slack if no one gets assigned! |
luacmartins
left a comment
There was a problem hiding this comment.
LGTM. Just a couple NAB
| // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- Disabling this line for safeness as nullish coalescing works only if the value is undefined or null | ||
| const reportRecipientTimezone = participant.timezone || CONST.DEFAULT_TIME_ZONE; |
There was a problem hiding this comment.
NAB
| // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- Disabling this line for safeness as nullish coalescing works only if the value is undefined or null | |
| const reportRecipientTimezone = participant.timezone || CONST.DEFAULT_TIME_ZONE; | |
| const reportRecipientTimezone = (participant.timezone ?? '') || CONST.DEFAULT_TIME_ZONE; |
There was a problem hiding this comment.
@luacmartins I am not sure this is needed , if participant.timezone will be undefined or '' the variable will be set to CONST.DEFAULT_TIME_ZONE so adding ?? '' seems to me redundant
There was a problem hiding this comment.
yea, I agree. It was just a suggestion so we don't need to suppress the lint rule
| // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- Disabling this line for safeness as nullish coalescing works only if the value is undefined or null | ||
| const reportRecipientDisplayName = participant.firstName || participant.displayName; |
There was a problem hiding this comment.
| // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- Disabling this line for safeness as nullish coalescing works only if the value is undefined or null | |
| const reportRecipientDisplayName = participant.firstName || participant.displayName; | |
| const reportRecipientDisplayName = (participant.firstName ?? '') || participant.displayName; |
This is not ideal, but at the same time I don't think it's a blocker. Do we know the actual time this additional re-render would add? |
|
I agree that its not ideal. There is more re-renders, but also the component tree gets slimmer, I guess that is the compromise. I think we do not have to block on this |
|
@kubabutkiewicz we also have conflicts now |
…s-migration/ReportActionCompose
…s-migration/ReportActionCompose
|
@luacmartins its fixed |
|
@luacmartins looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
|
See comment 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: 1.4.45-0 🚀
|
|
🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.45-6 🚀
|
Details
Fixed Issues
$ #31984
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)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel so the design team can review the changes.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
android.mp4
Android: mWeb Chrome
mchrome.mp4
iOS: Native
ios.mp4
iOS: mWeb Safari
msafari.mp4
MacOS: Chrome / Safari
web.mp4
MacOS: Desktop
desktop.mp4