-
Notifications
You must be signed in to change notification settings - Fork 3k
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-10-24] [$500] Email not found in new workspace after adding as member, splitting bill, deleting old workspace. #29024
Comments
ProposalPlease re-state the problem that we are trying to solve in this issue.Cannot invite a member X to a workspace B if X was added to a workspace A, then split a bill with X and then the workspace A is deleted. What is the root cause of that problem?When we create a split request this here Lines 1060 to 1065 in a6d2f3e
checks if there is one to one chat report and if does not exists it sets shouldCreateOptimisticPersonalDetails to true even though a personal detail exists and this hereLine 1122 in 5dc3c25
sets isOptimisticPersonalDetail to true and subsequently through buildOnyxDataForMoneyRequest , the personal detail is set with field isOptimisticPersonalDetail to true .This here App/src/libs/OptionsListUtils.js Line 1262 in 5dc3c25
does not show this optimistic personal detail and also no option is created because it already exists in personal details. What changes do you think we should make in order to solve the problem?We need to check if the accountID already exists in the personal details and if it does we should not change const personalDetailExists = _.has(allPersonalDetails, accountID) here Line 1051 in 5dc3c25 and change these Line 1059 in 5dc3c25
Line 1063 in 5dc3c25
to shouldCreateOptimisticPersonalDetails = !existingSplitChatReport && !personalDetailExists; shouldCreateOptimisticPersonalDetails = isNewOneOnOneChatReport && !personalDetailExists; What alternative solutions did you explore? (Optional)We might consider changing the logic here Line 1061 in 5dc3c25
to include the accountID of current user when we get report by participants or have a function to check if there is a chat with this participant instead of checking if a report has all participants like the existing getChatbyParticipants ResultshowInviteMember.mov |
Job added to Upwork: https://www.upwork.com/jobs/~01045d4102dd433123 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @hoangzinh ( |
@hoangzinh Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Reviewing proposal. Btw @m-natarajan could you help to add "Bug" label to this issue in order to have a BZ member assigned to this issue? Thanks |
Triggered auto assignment to @peterdbarkerUK ( |
Bug0 Triage Checklist (Main S/O)
|
@c3024 Thanks for your proposal. It looks good to me. Your proposal pointed out a correct RCA and the solution makes sense. We should only create an optimisticPersonalDetails during split bill if it does not exist. Thus, I think we go with @c3024's proposal here #29024 (comment) 🎀👀🎀 C+ reviewed |
Triggered auto assignment to @Gonals, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
📣 @hoangzinh 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
📣 @c3024 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
📣 @tewodrosGirmaA 🎉 An offer has been automatically sent to your Upwork account for the Reporter role 🎉 Thanks for contributing to the Expensify app! |
Based on my calculations, the pull request did not get merged within 3 working days of assignment. Please, check out my computations here:
On to the next one 🚀 |
I think it's more fair for Contributors if this issue is considered for the speed bonus because the 1st round approval is within a half day. @c3024 and I quickly made & tested the PR as soon as possible. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.85-4 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-10-24. 🎊 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.
For reference, here are some details about the assignees on this issue:
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:
|
Summarizing payouts for this issue: Issue reporter: @tewodrosGirmaA $50 Contributor: @c3024 $750 |
@hoangzinh please complete the above checklist and I'll process your payment too! |
BugZero Checklist:
|
Regression Test Proposal
Do we agree 👍 or 👎 |
@hoangzinh, @peterdbarkerUK, @Gonals, @c3024 Huh... This is 4 days overdue. Who can take care of this? |
Thanks @hoangzinh - I noticed you skipped the PR Review Checklist discussion step. Could you help me understand if and when that step is required? (I've asked this internally too) |
Yeah, because I think it's not a straightforward bug. It's hard to catch kind of this bug from the beginning. |
Thanks @hoangzinh - I'm new to BZ and still learning how to handle the judgment call elements of instructions. And, candidly, trying to identify steps we can remove as unnecessary. On that note of me not being very good yet: seems to me this is an edge case we don't need to test for in TestRail. I should have done this step earlier and saved you some bureaucracy. Would you agree? |
No worry @peterdbarkerUK.
I feel it's not an edge case. In a workspace, we split the bill to some users, then we delete this workspace and create a new workspace, we would like to add previous users to this new workspace. I'm 50:50 on it. what do you think? @c3024 @Gonals do you agree this issue is an edge case? Thanks |
"Deleting workspace A" is not a required step. I think this is not an edge case bug. As long as we split bill with a user (whose personal details are already returned from backend) with whom we don't have a one-to-one chat already, we will face this bug. And this user option does not appear in any option list because this is turned into an optimistic detail. While this might not be a frequent flow, this flow can happen sometimes and this bug is a bit more than an edge case bug in my opinion. |
Yeah, I'd agree with that. In which case should the regression test be:
|
TR update proposed, thanks everyone! |
@peterdbarkerUK let me know when the payment is processed for me in Upwork. Thanks |
Ugh, I lost that in the regression test uncertainty. I'm sorry. Payment sent!
Job closed |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Action Performed:
Expected Result:
Email should be found when searching for it in the newly created workspace.
Actual Result:
Email cannot be found when searching for it in the newly created workspace.
Workaround:
unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.73-9
Reproducible in staging?: y
Reproducible in production?: y
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
Recorder_06102023_123639.mp4
Screen.Recording.2023-10-06.at.2.31.20.AM.mov
Screen.Recording.2023-10-06.at.1.55.22.AM.mov
Screen.Recording.2023-10-06.at.1.52.45.AM.mov
Screen.Recording.2023-10-06.at.1.49.01.AM.mov
Screen.Recording.2023-10-06.at.1.43.45.AM.mov
Recording.11.mp4
Expensify/Expensify Issue URL:
Issue reported by: @tewodrosGirmaA
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1696584062077569
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @peterdbarkerUKIssue Owner
Current Issue Owner: @peterdbarkerUKThe text was updated successfully, but these errors were encountered: