-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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-06-02] [HOLD for payment 2023-06-01] [$1000] Duplicate Concierge chat created when user sign in with https://new.expensify.com/concierge link #17884
Comments
Triggered auto assignment to @sonialiap ( |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to @mountiny ( |
Interesting, after clicking the X the chat should be cleared, I think this can be external |
Current assignee @sonialiap is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @Santhosh-Sellavel ( |
Current assignee @mountiny is eligible for the External assigner, not assigning anyone new. |
ProposalPlease re-state the problem that we are trying to solve in this issue.Duplicate Concierge chat created when user sign in with https://new.expensify.com/concierge link What is the root cause of that problem?When user signs in, the App/src/libs/actions/Report.js Lines 1016 to 1025 in 3066281
Here it is using conciergeChatReportID value to check if concierge is available or not, but this value will is not set yet since OpenApp request is not completed.App/src/libs/actions/Report.js Lines 687 to 711 in 3066281
Thus it is sending another request to initialize a new concierge chat, and backend responding with error. Here you can see that within duration of What changes do you think we should make in order to solve the problem?We should wait for let resolveIsReadyPromise;
const isReportReadyPromise = new Promise((resolve) => {
resolveIsReadyPromise = resolve;
});
Onyx.connect({
key: ONYXKEYS.IS_LOADING_REPORT_DATA,
initWithStoredValues: false,
callback: (val) => {
if (!val) {
resolveIsReadyPromise();
}
},
}); And we can put all actions inside function navigateToConciergeChat() {
isReportReadyPromise.then(() => {
// If we don't have a chat with Concierge then create it
if (!conciergeChatReportID) {
console.error('No Concierge chat found, creating one');
navigateToAndOpenReport([CONST.EMAIL.CONCIERGE]);
return;
}
Navigation.navigate(ROUTES.getReportRoute(conciergeChatReportID));
});
} That is just what I came to my mind. But the main idea is that we should wait What alternative solutions did you explore? (Optional) |
Looks like something related to As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our Feel free to drop a note in #expensify-open-source with any questions. |
ProposalPlease re-state the problem that we are trying to solve in this issue.Duplicate Concierge chat created when user sign in with https://new.expensify.com/concierge link What is the root cause of that problem?
If our What changes do you think we should make in order to solve the problem?In fact, we should wait for We have similar logic in here App/src/libs/actions/Welcome.js Lines 28 to 34 in 76c9338
so we can add export isReadyPromise in Welcome , it will ensure that we successfully request OpenApp , because it has isFirstTimeNewExpensifyUser , then we change Report.navigateToConciergeChat to
Welcome.isReadyPromise.then(() => {
if (!conciergeChatReportID) {
navigateToAndOpenReport([CONST.EMAIL.CONCIERGE]);
return;
}
Navigation.navigate(ROUTES.getReportRoute(conciergeChatReportID));
}) |
@mountiny
If the above is what we want, that's what already happening. StagingScreen.Recording.2023-04-27.at.12.01.48.AM.movProductionScreen.Recording.2023-04-27.at.12.00.19.AM.movIf not let me what's expected here? |
@Santhosh-Sellavel sorry that was not clear, essentially those would be two separate issues. We should not create the duplicate chat in a first place. |
@mountiny I'm unassigning it due to low bandwidth Can you assign a new C+ here by reapplying the Thanks! |
📣 @0xmiroslav You have been assigned to this job by @mountiny! |
|
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.18-2 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-06-02. 🎊 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:
|
@mountiny I see mentions of regressions in the PR but doesn't look like the PR itself was reverted, so there weren't actual regressions on this issue, is that correct? |
No regression, issue foudn existed in production before |
Dates
EDIT: I miscalculated, it was merged within 3 business days (correction) |
@gadhiyamanan - offer sent for reporting issue - paid |
@sonialiap accepted, thanks! |
@sonialiap do you have any reason for PR being merged in 4 business days? It's merged in 5 days including weekend so eligible for bonus. |
I don't think any PR caused regression. This bug always existed after we implement creating concierge chat optimistically. Regression Test Proposal
|
Thanks for the regression steps 👍 @0xmiroslav I miscalculated, I agree it was merged within 3 business days. Sending offer and will add bonus. @hellohublot bonuses are added as a separate step after the offer is accepted. You do not need to change the offer amount to receive the bonus. |
Everyone has been paid, closing ✅ |
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:
it should be redirect to concierge chat
Actual Result:
creates a duplicate Concierge with error(Report no longer exists)
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.4
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
Screen.Recording.2023-04-24.at.11.27.22.AM.mov
Recording.342.mp4
Expensify/Expensify Issue URL:
Issue reported by: @gadhiyamanan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1682315938093959
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: