-
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 2024-10-25] [$250] QAB - Destination opens in the background when starting QAB flow #46352
Comments
Triggered auto assignment to @kevinksullivan ( |
@kevinksullivan FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors |
We think that this bug might be related to #wave-collect - Release 1 |
Edited by proposal-police: This proposal was edited at 2024-08-09 22:16:08 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.QAB - Destination opens in the background when starting QAB flow What is the root cause of that problem?Here: App/src/libs/Navigation/linkingConfig/getAdaptedStateFromPath.ts Lines 177 to 196 in 98d8a5a
When the target navigation is RHP from the bottom tab navigator (LHN), as in the case of creating an IOU request, the If the user clicks on the FAB and selects "Submit Expense," the What changes do you think we should make in order to solve the problem?we should include the iou request create focused route, (in this case "manual") add Alternative solutionI think there will be many screens to include as well. I believe a better fix is: App/src/libs/Navigation/linkingConfig/getAdaptedStateFromPath.ts Lines 187 to 191 in 98d8a5a
to make the The App/src/libs/Navigation/linkingConfig/getAdaptedStateFromPath.ts Lines 151 to 156 in 98d8a5a
However, the route that must include the report screen is the route that starts with // sometimes route path start with `/` and sometimes not. just to make sure here.
if (route?.path.indexOf('/r/') === 0 || route?.path.indexOf('r/') === 0) {
const reportID = (route.params as Record < string, string | undefined > )?.reportID;
if (!!reportID && ReportConnection.getAllReports()?.[`${ONYXKEYS.COLLECTION.REPORT}${reportID}`]) {
return {name: SCREENS.REPORT, params: {reportID}};
}
} Other routes which really require report of reportID param to be openened first can be included in exception list. |
@kevinksullivan Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@kevinksullivan Eep! 4 days overdue now. Issues have feelings too... |
Reproduced. I think this is a polish item for collect. |
Job added to Upwork: https://www.upwork.com/jobs/~01234964a7fed98878 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @aimane-chnaif ( |
I have seen about this issue, what do you need fix exactly? |
@kevinksullivan, @aimane-chnaif Whoops! This issue is 2 days overdue. Let's get this updated quick! |
reviewing |
Reproduced. This happens in various flows. i.e. split expense split.mp4@tsa321 can you please share test branch covering all cases? |
@aimane-chnaif, I think there will be many screens to include as well. I believe a better fix is: App/src/libs/Navigation/linkingConfig/getAdaptedStateFromPath.ts Lines 187 to 191 in 98d8a5a
to make the The App/src/libs/Navigation/linkingConfig/getAdaptedStateFromPath.ts Lines 151 to 156 in 98d8a5a
However, the route that must include the report screen is the route that starts with // sometimes route path start with `/` and sometimes not. just to make sure here.
if (route?.path.indexOf('/r/') === 0 || route?.path.indexOf('r/') === 0) {
const reportID = (route.params as Record < string, string | undefined > )?.reportID;
if (!!reportID && ReportConnection.getAllReports()?.[`${ONYXKEYS.COLLECTION.REPORT}${reportID}`]) {
return {name: SCREENS.REPORT, params: {reportID}};
}
} Alternatively, if you think a better solution would be to include the related screens in |
I prefer general solution. If we can fix in navigation level ( |
@aimane-chnaif then How about my code change, replace these lines: App/src/libs/Navigation/linkingConfig/getAdaptedStateFromPath.ts Lines 151 to 156 in 98d8a5a
with: // sometimes route path start with `/` and sometimes not. just to make sure here.
if (route?.path.indexOf('/r/') === 0 || route?.path.indexOf('r/') === 0) {
const reportID = (route.params as Record < string, string | undefined > )?.reportID;
if (!!reportID && ReportConnection.getAllReports()?.[`${ONYXKEYS.COLLECTION.REPORT}${reportID}`]) {
return {name: SCREENS.REPORT, params: {reportID}};
}
} This will fix many similar issues. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Triggered auto assignment to @dangrous, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
Since I happen to be in this issue for some reason... |
The bug didn't happen before so I was sure that this was recent regression. So I didn't accept any proposal without finding offending PR, which means the root cause is not accurate. That's only the reason. |
Jumping in here too, I think if the solution is correct let's move forward with @tsa321; it's definitely not the ideal that the root cause was incorrect originally, but now that we've determined it and the proposal still solves it in the best way possible, I think that's okay. I'll wait a bit for any further discussion and then plan to assign @tsa321 - let's just make sure in the future we make sure to find that correct root cause since that will give us the best solution! |
📣 @tsa321 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
I see that @tsa321 will handle this one, feel free to call me for a review etc. when the PR is done though ;) |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.50-8 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 2024-10-25. 🎊 For reference, here are some details about the assignees on this 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:
|
Payment summary:
|
Regression Test Proposal
|
@sonialiap I am still using upwork |
@aimane-chnaif oh sorry! I saw that you're whitelisted for ND payments. Offer sent in Upwork |
@dangrous @sonialiap Be sure to fill out the Contact List! |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: 9.0.13-3
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:
Expected Result:
App will return to LHN after closing QAB flow
Actual Result:
App will return to workspace chat (destination) after closing QAB flow
The destination (in this case, workspace chat) opens in the background when starting QAB flow
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6554078_1722025287007.ScreenRecording_07-27-2024_04-17-08_1.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @aimane-chnaifThe text was updated successfully, but these errors were encountered: