-
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
[HOLD for payment 2023-05-22] [$1000] App crashes when right clicking on a reaction once sender react to message with multiple emoji tone color, and recipient reacts to it #18552
Comments
Triggered auto assignment to @abekkala ( |
Bug0 Triage Checklist (Main S/O)
|
This bug seems to be related with this PR -> #15685 |
ProposalPlease re-state the problem that we are trying to solve in this issue.App crashes when right clicking on a reaction once sender react to message with multiple emoji tone color, and recipient reacts to it. What is the root cause of that problem?We are calculating reaction users in this line:
When user changed the skin stone and reacted to the message, the App/src/libs/PersonalDetailsUtils.js Lines 19 to 37 in d120f6a
Let take a look at line 33 , right after we found the result we want, we break the loop. So when our array has duplicate item like my example, after the first one was found, the loop break and move to the next item, the next 2 duplicated will not be found. So the result array will look like this:
Because there were 2 items are undefined, the app will crash while user right click to open reaction list modal, because the list used the key extractor from the item, when item is undefined it will cause the crash.
What changes do you think we should make in order to solve the problem?We have few solutions here:
const currentIndex = result.length === 0 ? 0 : result.length;
if (shouldChangeUserDisplayName && currentAccountID.toString() === detail.accountID) {
result[currentIndex] = {
...detail,
displayName: Localize.translateLocal('common.you'),
};
} else {
result[currentIndex] = detail;
}
break; What alternative solutions did you explore? (Optional) |
Job added to Upwork: https://www.upwork.com/jobs/~01262eda193a5f33e9 |
Current assignee @abekkala is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @mollfpr ( |
Triggered auto assignment to @robertjchen ( |
📣 @parasharrajat You have been assigned to this job by @abekkala! |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.13-5 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2023-05-22. 🎊 After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.
As a reminder, here are the bonuses/penalties that should be applied for any External issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
@parasharrajat when you have a moment can you complete the checklist items above? |
@parasharrajat once the checklist is done I can complete payments |
[@parasharrajat] The PR that introduced the bug has been identified. Link to the PR: #15685 [@parasharrajat] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: #15685 [@parasharrajat] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: Not needed. This was a mistake [@parasharrajat] Determine if we should create a regression test for this bug. No, it is was an internal change that does not have any UI effect. |
Payments to be made:Issue reported by: @Natnael-Guchima [$250] |
@Natnael-Guchima and @parasharrajat offers sent! |
@abekkala accepted. Thanks. |
@Natnael-Guchima payment made and contract ended. Thank you! 🎉 |
@abekkala I don't see the offer. |
@parasharrajat yes, sorry about that. It looks like Upwork has been experiencing some site issues yesterday and this morning. |
@parasharrajat I sent another contract it's titled [$1000] Payment for #18552 + [$500] Bonus |
@abekkala Thanks. Accepted. |
@parasharrajat paid and contract ended! 🎉 thank you! |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result:
System should display the list of user that has reacted with the emoji
Actual Result:
App crashes down
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.11.2
Reproducible in staging?: y
Reproducible in production?: new feature
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
2023-05-06.10.23.31.mp4
Recording.515.mp4
Expensify/Expensify Issue URL:
Issue reported by: @Natnael-Guchima
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1683358345695579
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: