Skip to content
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

[$2000] Android app - Navigating to conversation via link twitches current chat left and right #19914

Closed
1 of 6 tasks
kbecciv opened this issue May 31, 2023 · 19 comments
Closed
1 of 6 tasks
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor Help Wanted Apply this label when an issue is open to proposals by contributors

Comments

@kbecciv
Copy link

kbecciv commented May 31, 2023

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:

  1. Using Android m/Web, login to NewDot with account A and open any DM. Copy the report url from the address bar (like https://staging.new.expensify.com/r/1242891003534332)
  2. Paste it in any external app (Slack or Telegram)
  3. Log in with same account (account A) in android app
  4. In the android app, open any other chat (not the one you opened in step 1)
  5. Go back to the external app and tap link you pasted in external app
  6. Observe the chat twitching left and right

Expected Result:

Chat from step should be opened without any visual issues.

Actual Result:

Current chat (from step 3) twitches left and right before opening required chat

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android / native
  • Android / Chrome
  • iOS / native
  • iOS / Safari
  • MacOS / Chrome / Safari
  • MacOS / Desktop

Version Number: 1.3.21.2

Reproducible in staging?: yes

Reproducible in production?: yes

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

Bug6076021_video_44.mp4

Expensify/Expensify Issue URL:

Issue reported by: Applause - Internal Team

Slack conversation:

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~0107d17ae1d8678cbc
  • Upwork Job ID: 1664398864826523648
  • Last Price Increase: 2023-06-13
@kbecciv kbecciv added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels May 31, 2023
@melvin-bot
Copy link

melvin-bot bot commented May 31, 2023

Triggered auto assignment to @Christinadobrzyn (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@melvin-bot
Copy link

melvin-bot bot commented May 31, 2023

Bug0 Triage Checklist (Main S/O)

  • This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
  • This bug is not a duplicate report (check E/App issues and #expensify-bugs)
    • If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead
  • This bug is reproducible using the reproduction steps in the OP. S/O
    • If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
    • If the reproduction steps aren't clear and you determine the correct steps, please update the OP.
  • This issue is filled out as thoroughly and clearly as possible
    • Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.
  • I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@Christinadobrzyn
Copy link
Contributor

Christinadobrzyn commented Jun 1, 2023

I need some clarification on the steps in the OP - in my testing, I'm getting this screen after copying the chat link from an external source.

image

Asking QA to clarify the OP steps- https://expensify.slack.com/archives/C9YU7BX5M/p1685644932459749

@Christinadobrzyn
Copy link
Contributor

Browserstack doesn't have any external app that meets the "Slack or Telegram" step so I can't test this. Asking if anyone with an Android could grab this - https://expensify.slack.com/archives/C01SKUP7QR0/p1685648330412259

@strepanier03
Copy link
Contributor

I was able to test and recreate this using a Google Pixel 6 Pro. I updated the repro steps to make them a little more clear as well. This is good to move forward I think @Christinadobrzyn.

@Christinadobrzyn
Copy link
Contributor

TY @strepanier03!

I can't find any other GHs related to this - adding the external label.

@Christinadobrzyn Christinadobrzyn added the External Added to denote the issue can be worked on by a contributor label Jun 1, 2023
@melvin-bot melvin-bot bot changed the title Android app - Navigating to conversation via link twitches current chat left and right [$1000] Android app - Navigating to conversation via link twitches current chat left and right Jun 1, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 1, 2023

Job added to Upwork: https://www.upwork.com/jobs/~0107d17ae1d8678cbc

@melvin-bot
Copy link

melvin-bot bot commented Jun 1, 2023

Current assignee @Christinadobrzyn is eligible for the External assigner, not assigning anyone new.

@melvin-bot
Copy link

melvin-bot bot commented Jun 1, 2023

Triggered auto assignment to Contributor-plus team member for initial proposal review - @thesahindia (External)

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Jun 1, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 1, 2023

Triggered auto assignment to @stitesExpensify (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@melvin-bot melvin-bot bot added the Overdue label Jun 5, 2023
@Christinadobrzyn
Copy link
Contributor

not overdue - collecting proposals

@melvin-bot melvin-bot bot removed the Overdue label Jun 5, 2023
@Christinadobrzyn Christinadobrzyn changed the title [$1000] Android app - Navigating to conversation via link twitches current chat left and right [$2000] Android app - Navigating to conversation via link twitches current chat left and right Jun 6, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 6, 2023

Upwork job price has been updated to $2000

@melvin-bot melvin-bot bot added the Overdue label Jun 7, 2023
@Christinadobrzyn
Copy link
Contributor

waiting on proposals

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Jun 7, 2023
@WikusKriek
Copy link
Contributor

Proposal

Please 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.
The reportID prop also does not get updated from the new url it stays the same and the report never reloads with the reportID from the URL.

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.

// If a chat is visible other than the one we are trying to navigate to, then we need to navigate back
if (Navigation.getActiveRoute().slice(1, 2) === ROUTES.REPORT && !Navigation.isActiveRoute(`r/${reportID}`)) {
Navigation.goBack();
}
Navigation.navigate(ROUTES.getReportRoute(reportID));

In the componentDidUpdate of the ReportScreen
componentDidUpdate(prevProps) {

We just need to make a few changes to check that the active route is NOT the route of the current props.reportID.
We then need to call goBack and then navigate to the correct route.

What alternative solutions did you explore? (Optional)

Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

@melvin-bot
Copy link

melvin-bot bot commented Jun 12, 2023

Looks like something related to react-navigation may have been mentioned in this issue discussion.

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 DeprecatedCustomActions.js files should not be accepted.

Feel free to drop a note in #expensify-open-source with any questions.

@WikusKriek
Copy link
Contributor

WikusKriek commented Jun 12, 2023

@Christinadobrzyn @stitesExpensify @thesahindia I cannot replicate the issue, think the recent changes from drawer navigation to stack navigation changed a lot of stuff, now the issue seems to be that you are not able to navigate to a chat via link when you are on another chat. Do we update the title or create a new issue? I did create a Proposal to fix the issue.

@Christinadobrzyn
Copy link
Contributor

Thanks @WikusKriek - Asking QA to test this again. https://expensify.slack.com/archives/C9YU7BX5M/p1686593669248009

@melvin-bot
Copy link

melvin-bot bot commented Jun 13, 2023

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@Christinadobrzyn
Copy link
Contributor

Looks like this issue can no longer be reproduced by QA this issue exists - #20624

Closing this without action.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor Help Wanted Apply this label when an issue is open to proposals by contributors
Projects
None yet
Development

No branches or pull requests

6 participants