Wildan/fix/21518/client pusher method#24407
Conversation
…x/21518/client-pusher-method
|
@allroundexperts 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] |
Reviewer Checklist
Screenshots/VideosWebScreen.Recording.2023-09-22.at.3.34.18.AM.movMobile Web - ChromeScreen.Recording.2023-09-22.at.3.43.20.AM.movMobile Web - SafariScreen.Recording.2023-09-22.at.3.46.25.AM.movDesktopScreen.Recording.2023-09-22.at.3.39.04.AM.moviOSScreen.Recording.2023-09-22.at.3.47.34.AM.movAndroidScreen.Recording.2023-09-22.at.3.45.26.AM.mov |
|
@wildan-m Can you please merge main and resolve conflicts? |
…x/21518/client-pusher-method
|
@allroundexperts sure. Done. |
…x/21518/client-pusher-method
|
@allroundexperts any feedback on the implementation? |
|
Sorry for the delay @wildan-m. I'll look into it later today / early tomorrow. |
|
@wildan-m Can you please merge main again? |
…x/21518/client-pusher-method
|
@allroundexperts sure. done. |
|
@allroundexperts not sure what causes some checks to fail. seems not related to this PR |
…x/21518/client-pusher-method
|
It's related to mapbox integration. |
…x/21518/client-pusher-method
|
resolved after this post. |
|
@wildan-m It looks like @allroundexperts let's try to get this reviewed before the merge conflict merry-go-round comes back around to haunt Wildan again? 😅 |
…x/21518/client-pusher-method
|
@deetergp, @allroundexperts done. |
…x/21518/client-pusher-method
|
I'll recheck this again tomorrow 🤞🤞🤞 |
|
@allroundexperts is this still on your list for today? |
Yep. Once I wake up tomorrow! |
allroundexperts
left a comment
There was a problem hiding this comment.
Testing well now!
|
Congrats, that’s your 5th PR merged! 🎉 Do you know about the ContributorPlus role? It’s an opportunity to earn more in the Expensify Open Source community. Keep up the great work - thanks! |
|
✋ 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.3.73-0 🚀
|
|
🚀 Deployed to production by https://github.com/mountiny in version: 1.3.73-1 🚀
|
|
🚀 Deployed to staging by https://github.com/luacmartins in version: 1.3.74-0 🚀
|
|
🚀 Deployed to production by https://github.com/chiragsalian in version: 1.3.74-3 🚀
|
| useEffect(() => { | ||
| // Ensures subscription event succeeds when the report/workspace room is created optimistically. |
There was a problem hiding this comment.
We should have early returned if reportID is null to avoid the console error mentioned in #29116.
There was a problem hiding this comment.
@fedirjh Thanks for your feedback. We did it here and here, but we might also need to put it in useEffect
The issue also related to this function:
App/src/pages/home/ReportScreen.js
Lines 128 to 131 in 6cc9053
it returned 'null' string instead of an actual null.
I'd recommend to change it to:
function getReportID(route) {
const reportID = lodashGet(route, 'params.reportID', null);
return reportID !== null ? String(reportID) : null;
}
@luacmartins, @allroundexperts, considering that this has passed the regression period, and any change would require re-testing. What should we do in this situation? Will there be any adjustments?
There was a problem hiding this comment.
I'd recommend to change it to:
We attempted this in PR #29590, but it resulted in a regression, so we reverted the changes in PR #29893. The issue arises from the fact that getReportID is utilized within the withOnyx HOC. When null is passed as its value, Onyx will return the entire collection. Therefore, it was intentional for getReportID to return a 'null' string when the report is empty.
App/src/pages/home/ReportScreen.js
Line 470 in 6cc9053
There was a problem hiding this comment.
I think we also need to check onyx report reportId availability to avoid #38174
@johncschuster , @allroundexperts
Details
Fix leaving a room from multiple devices and fix regression when splitting the bill
Fixed Issues
$ #21518
$ #22964
PROPOSAL: #21518 (comment)
Tests
Leave Room Test
Leave Roomon one of the devices (e.g. web)Split bill test
Offline tests
Leave Roomon one of the devices (e.g. web)QA Steps
Leave Roomon one of the devices (e.g. web)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 */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)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
Web
Recording.53.2.mp4
Mobile Web - Chrome
Recording.48.2.mp4
Mobile Web - Safari
Recording.49.2.mp4
Desktop
Recording.51.2.mp4
iOS
Recording.50.2.mp4
Android
Recording.47.mp4