-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Maintain grayed out chats with multiple offline splits #13602
Conversation
@techievivek 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] |
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.
Looks good. Not sure why no C+ got added as a PR reviewer. If that's expected then I can test it and fill out the checklist.
@@ -52,6 +52,11 @@ function getSortedReportActions(reportActions, shouldSortInDescendingOrder = fal | |||
} | |||
const invertedMultiplier = shouldSortInDescendingOrder ? -1 : 1; | |||
reportActions.sort((first, second) => { | |||
// If only one action is a report created action, return the created action first. |
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.
This is already being discussed here #13310 is not a priority for now. So maybe we can just focus on greying out the LHN.
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.
I added a reportActionID
to created report actions to fix a console error where the report action item in the list was missing a key (the reportActionID). As a result of that change the created messages would appear after the IOU message because they have the same created
timestamp. Adding this condition fixes that issue and helps with the ordering so I would like to keep the change.
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.
NAB from my end. But I guess we will anyhow need to clean the sort method because reportActions would be random now, right?
}; | ||
|
||
// If we have an existing groupChatReport use it's pending fields, otherwise indicate that we are adding a chat | ||
if (!existingGroupChatReport) { |
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.
Good catch.
Yeah that is odd. I have reported it in #expensify-bugs here. |
@neil-marcellini I can see the order changing when moving from offline to online. I can see that in your video too. I think that's an issue right? Because it takes one message at a time and syncs online. |
@mananjadhav Yep, that's expected for now. We already have an issue for this but not prioritizing it for now. |
Reviewer Checklist
Screenshots/VideosWebweb-grayed-out-split-bill.movMobile Web - Chromemweb-chrome-grayed-out-split-bill.movMobile Web - Safarimweb-safari-grayed-out-split-bill.movDesktopdesktop-grayed-out-split-bill.moviOSios-grayed-out-split-bill.movAndroidandroid-grayed-out-split-bill.mov |
Thanks for clarifying @techievivek. I've tested the flows and it works fine. Completed the checklist in the previous comment along with the screencast. All yours. |
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.
Looks good, thanks for the explanation.
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
Performance Comparison Report 📊Significant Changes To DurationThere are no entries Meaningless Changes To DurationShow entries
Show details
|
🚀 Deployed to staging by @techievivek in version: 1.2.43-0 🚀
|
@neil-marcellini Now there is a slightly different issue than the original issue #13586. Do we need to create separate issue? |
🚀 Deployed to production by @chiragsalian in version: 1.2.43-1 🚀
|
@neil-marcellini @techievivek @johncschuster This is ready for payout today. But the title isn't updated on the issue. Also the issue is locked, hence I couldn't comment there. |
I updated the title and @johncschuster will handle the payment soon. |
@johncschuster can you help me with the payout? |
@mananjadhav yep! I'm on it right now! |
@johncschuster i can’t apply to the job as it says Access Denied. Couldn’t comment on the issue hence responding here. |
Weeeeird. Let me take a look! I'll post back here in these comments. |
@mananjadhav Ok, I just made the job public in case that was the issue. Can you try applying again? |
This worked. Applied @johncschuster |
Offer sent! Let me know when you accept and I'll get the payment issued. Thanks! |
Accepted @johncschuster |
Paid! 🎉 Thanks, @mananjadhav! |
Details
Note that when going back online the messages will briefly be out of order, which also happens on production currently. I did a small fix after testing on all platforms to make sure that the
CREATED
report action is always displayed first. The other actions will still be out of order briefly, but with that fix the bug is much less jarring.Fixed Issues
$ #13586
PROPOSAL: N/A
Tests
Only offline is relevant.
Offline tests
QA Steps
Run the offline tests.
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.Screenshots/Videos
Web
web.mov
Mobile Web - Chrome
android-Chrome.mov
Mobile Web - Safari
iOS-Safari.mp4
Desktop
desktop.mov
iOS
iOS.mp4
Android
android.mov