Skip to content

Android - Different behavior on tapping invoice and Reconcile cards from issue corporate cards #6539

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

Closed
kavimuru opened this issue Nov 30, 2021 · 11 comments
Labels
Engineering Improvement Item broken or needs improvement. Internal Requires API changes or must be handled by Expensify staff Monthly KSv2

Comments

@kavimuru
Copy link

kavimuru commented Nov 30, 2021

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Issue was found when executing the PR #6485

Action Performed:

  1. Log into an account with the Expensify Card enabled.
  2. Select a workspace and navigate to Issue corporate cards.
  3. Click on Reconcile cards and verify that an OldDot page opens and you are logged in.
  4. Perform steps 2-3 but this time in Send invoices > Send invoice

Expected Result:

OldDot page opens with user logged in

Actual Result:

Gives option to select to open in app or in browser when selecting send invoices. Selecting browser works as expected but selecting app opens inbox of olddot app

Workaround:

Unknown

Platform:

Where is this issue occurring?

  • Android

Version Number: 1.1.17-1

Reproducible in staging?: Yes

Reproducible in production?: Yes

Logs: https://stackoverflow.com/c/expensify/questions/4856

Notes/Photos/Videos:
Bug5352032_Screenshot_20211130-111050

Bug5352032_screen-20211130-111040.mp4

Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:

View all open jobs on GitHub

@MelvinBot
Copy link

Triggered auto assignment to @luacmartins (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@luacmartins
Copy link
Contributor

luacmartins commented Dec 1, 2021

I'm unable to reproduce this on dev. Both links use Link.openOldDotLink with an encodeURI generated URL, so I'm not sure why they have different behavior (the only difference here are the links themselves, but they seem correct to me).

I don't think this is a high priority, so demoting to Weekly. Adding the External label too.
Anyways, I'll send this back to the pool in case somebody else wants to investigate.

@luacmartins luacmartins added Weekly KSv2 External Added to denote the issue can be worked on by a contributor and removed Daily KSv2 labels Dec 1, 2021
@MelvinBot
Copy link

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

@MelvinBot MelvinBot added Daily KSv2 and removed Weekly KSv2 labels Dec 1, 2021
@luacmartins luacmartins added Weekly KSv2 Daily KSv2 and removed Daily KSv2 Weekly KSv2 labels Dec 1, 2021
@luacmartins luacmartins removed their assignment Dec 1, 2021
@trjExpensify
Copy link
Contributor

Different behavior on tapping invoice and Reconcile cards from issue corporate cards

This is pretty non-descriptive for the issue title. It might be helpful to be more specific as to what exactly is different here. It'll help with understanding the problem, as well as for if we ever need to look for this same problem again.

Android - user is incorrectly given the choice to open in app when tapping "send invoice" - does that summarise the problem here? Does it happen with any of the other links to OldDot, like View all invoices or is it just Send invoice that seems to be the issue?

I'm unable to reproduce this on dev.

Yeah, this is interesting. Do you have an Android device @luacmartins, to see if you can reproduce on staging/prod? 🤔 (I'm iOS, sorry!)

@luacmartins
Copy link
Contributor

luacmartins commented Dec 3, 2021

Android - user is incorrectly given the choice to open in app when tapping "send invoice"

I think this describes the problem well. However, I don't know if this is happening with other links as I wasn't able to reproduce it.

Do you have an Android device @luacmartins, to see if you can reproduce on staging/prod? 🤔 (I'm iOS, sorry!)

No, I'm on iOS as well. Maybe @marcaaron has an android device to test this?

@marcaaron
Copy link
Contributor

Gives option to select to open in app or in browser when selecting send invoices. Selecting browser works as expected but selecting app opens inbox of olddot app

Pretty sure this is happening because the Android app will try to open all of the routes listed here as app links

https://developer.android.com/training/app-links

I'm not sure if there's a clear way to tell the OldApp (Android) to ignore links generated inside NewApp. We can probably block entire paths - but that seems like the wrong solution since a tap outside of NewApp is probably deep linking you into OldApp for other reasons.

I think this describes the problem well. However, I don't know if this is happening with other links as I wasn't able to reproduce it.

Agree. I can test this out, but pretty sure any routes defined in the AndroidManifest.xml file will be affected - not all routes.

One potential solution I can think of is to create some kind of redirect page in OldDot so NewDot links will never present the disambiguation prompt. Then update this link to something like https://expensify.com/redirect_to/inbox?. Actually, unsure if that will work even or if the disambiguation prompt will still get presented.

Maybe there's a better way. Good question for #engineering-chat.

@luacmartins
Copy link
Contributor

Thanks for the explanation @marcaaron! That makes sense!

Since this involves potential changes to OldDot and it's not something urgent, I'll mark this as internal and weekly. Sending this to the pool.

@luacmartins luacmartins added Internal Requires API changes or must be handled by Expensify staff Weekly KSv2 and removed External Added to denote the issue can be worked on by a contributor labels Dec 6, 2021
@MelvinBot MelvinBot removed the Overdue label Dec 6, 2021
@luacmartins luacmartins added Improvement Item broken or needs improvement. and removed Daily KSv2 labels Dec 6, 2021
@mvtglobally
Copy link

Issue not reproducible during KI retests. (First week)

@MelvinBot
Copy link

This issue has not been updated in over 15 days. eroding to Monthly issue.

P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

@MelvinBot MelvinBot added Monthly KSv2 and removed Weekly KSv2 labels Dec 29, 2021
@mvtglobally
Copy link

Issue not reproducible during KI retests. (Second week)

@mvtglobally
Copy link

Issue not reproducible during KI retests. (Third week) Closing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Engineering Improvement Item broken or needs improvement. Internal Requires API changes or must be handled by Expensify staff Monthly KSv2
Projects
None yet
Development

No branches or pull requests

6 participants