-
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-07-24] [$1000] Correct chat is not opened by tapping chat link #20624
Comments
Triggered auto assignment to @maddylewis ( |
Bug0 Triage Checklist (Main S/O)
|
ProposalPlease re-state the problem that we are trying to solve in this issue.Correct chat is not opened by tapping chat link. What is the root cause of that problem?This is what happens now if the app is opened in background and we try to open a chat from a deep link:
Now, here is the problemBoth Why does this happen?
What changes do you think we should make in order to solve the problem?
What alternative solutions did you explore?I. If we don't want to add and pass a new parameter when coming from a deep link, we may completely move from using
II. If we don't want to save the topmost report id, we may also just pass when coming from a deep link, and set |
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. |
Job added to Upwork: https://www.upwork.com/jobs/~01b971875418ce264c |
Triggered auto assignment to @flaviadefaria ( |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @thesahindia ( |
Triggered auto assignment to @pecanoro ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Navigating to conversation via link does not work when you are already on a chat. What is the root cause of that problem?When you are already on a chat and try and navigate to a new chat via link the ReportScreen does not unmount. What changes do you think we should make in order to solve the problem?We need to add a check similar to the Notification navigation check. App/src/libs/Notification/PushNotification/subscribeToReportCommentPushNotifications.js Lines 21 to 25 in b77cf55
In the componentDidUpdate of the ReportScreen App/src/pages/home/ReportScreen.js Line 155 in b77cf55
We just need to make a few changes to check that the active route is NOT the route of the current props.reportID. What alternative solutions did you explore? (Optional)N/A |
ProposalPlease re-state the problem that we are trying to solve in this issue.Unable to open a different chat by deeplink What is the root cause of that problem?Currently, we have a deep link handler specifically for report screen introduced in this PR Lines 163 to 167 in 862955c
Why we have it for report screen only? The best guess I have is, before the navigation reboot, we use a drawer navigator for LHN and report screen, so we need a custom handler for report screen that will handle whether to close or open the drawer. Below is the screenshot of the old ![]() Now, we have completely moved to stack navigator and the App/src/libs/Navigation/linkTo.js Lines 26 to 30 in 862955c
When we are doing a deeplink, rn-navigation will navigate to the target report id, even without the custom deeplink handler we have. So, when we deeplink to report B, the root navigation state is already updated with the report B id, so when the custom handler runs, both current report screen id and target report id is the same, thus the navigation action type stays as NAVIGATE instead of PUSH. NAVIGATE action won't push the new screen if it's already exist in the stack, that's why I believe we have this commit that will change the type to PUSH if the report id is different. What changes do you think we should make in order to solve the problem?As the intention is to push the new report screen to stack if the report ID is different, I think the better way to handle it is by adding
This will always push the new report screen if the report ID is not in the stack yet. Also, we don't need this logic anymore. App/src/libs/Navigation/linkTo.js Lines 28 to 31 in 862955c
Or is there any clear reason we are doing it that way? |
@maddylewis @pecanoro, please reassign. I have multiple pending tasks right now, so I won't be able to take this. |
This comment was marked as resolved.
This comment was marked as resolved.
Triggered auto assignment to Contributor-plus team member for initial proposal review - @rushatgabhane ( |
Current assignee @pecanoro is eligible for the External assigner, not assigning anyone new. |
Sorry, I missed this. I even checked the videos from the original PR and it seems it was working just fine back the, so something was introduced in between. Does this happen only on iOS? So I can test it as well. |
@pecanoro It happens on Android too. |
I can't reproduce it on Android on my phone, it's working well. |
@maddylewis Are you able to reproduce the potential regression on your iOS phone? It's working well for me on 1.3.50-2 |
i am OOO until ~Aug 14. i can try to repro once i return or we can re-assign the bug label to have someone else try! |
I think it is a regression actually - #23441 (comment) |
@abdulrahuman5196 Got it! It seems a contributor on the other issue found the root cause and a better solution for this issue and the regression. Are we having them fix it? If they confirmed the regression, we have to cut the payment for this one in half. |
@abdulrahuman5196 If the other contributor said in the alternative Proposal that removing only the change from that PR does not cause the original issue anymore, can't it be that something has changed meanwhile(which fixed the original Issue under the hood and created the new one), thus not being a regression? 🤷 |
The PR still caused a regression since once the PR is reverted, the new bug disappears. However, if you can find me the PR that introduced those changes that might have broken your PR, I will reconsider it. So far that has been a theory but we have yet to find such PR. |
@pecanoro, @allroundexperts, @maddylewis, @DanutGavrus Huh... This is 4 days overdue. Who can take care of this? |
1 similar comment
@pecanoro, @allroundexperts, @maddylewis, @DanutGavrus Huh... This is 4 days overdue. Who can take care of this? |
@maddylewis It's all yours for payment now! |
Payments:
|
@maddylewis It was concluded that the PR caused a regression so it's $500 for me and nothing for @DanutGavrus! |
For some reason, same does the old bug.
Sorry, I wanted to try that sooner, but I was not able to run the app on Android for some time until now. So, I've gathered these facts:
These facts give the impression that what made 3. possible, also added one extra navigation, thus it fixed 1. by navigating once instead of not at all, and created 2. which navigates twice instead of once now.
What is bothering me is that I couldn't find the PR which fixed the original issue neither, and we know there must be something. Is anyone able to identify the change which fixed the old issue? I'd like to investigate if that is related to the new bug. Thanks! @allroundexperts What would be your opinion about these? |
ahhh, thank you @allroundexperts! I needed some clarification on the status of payments for this one. I'll let @pecanoro respond to @DanutGavrus' comment before closing this one! |
@allroundexperts - i will trust your call on this one. double-checking that no payment should be issued to @DanutGavrus after they outlined these details - #20624 (comment) |
@maddylewis Lets treat it as a regression. Better be safe than sorry! |
Reviewed the details for @allroundexperts. $500 approved for payment via NewDot based on BZ summary. |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
This issue was found when retesting #19914
Action Performed:
)
Expected Result:
Chat from step 1 should be opened without any visual issues.
Actual Result:
Chat from step 4 stays on the screen
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.26-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:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Bug6090395_video_22__5_.mp4
Expensify/Expensify Issue URL:
Issue reported by: applause internal team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: