You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
HybridApp deep link always opens OldDot, ignoring tryNewDot NVP #98153
Tapping a deep link such as expensify.com/inbox from a native app opens the Expensify OldDot inbox even when the user is set to the NewDot experience. We need to fix this generally, but specifically forAuris who want a single URL for a button in their mobile app.
Solution
Apply the tryNewDot NVP check to the incoming expensify.com/inbox (and equivalent) deep links in HybridApp and route NewDot users to NewDot Home, matching web.
For a wider solution I created a long list of expected deep link behaviour here.
Perf, thank you and thank you @war-in for picking it up. For some added context, we're getting a new partner up and running on an integration in the coming weeks and they're going to use this one - so we need to get the redirect working reliably as some mutual customers might be on NewDot and others Classic. Thanks!
I deep-dived into the codebase and prepared a plan for implementing that feature:
Align apple-app-site-association with AndroidManifest so Android and iOS handle the same links
Move deeplink handling logic to JS side of OldDot from native, so the behaviour stays aligned between platforms. Also, deeplink resolving logic for locked users is already defined on JS side.
Implement deeplink translation for all ND users
Splitting that work into multiple PRs will allow for better readability and will simplify reviewing & testing process.
PR looking good, added 2 comments about the app lifecycle.
@Julesssss comments addressed; thank you!
Also, how do you feel about testing the app? I know there are issues with testing the iOS app on adhocs but android should be testable. Could we ask the QA team to perform deeplink-related regression testing on the PR, so we catch all errors early?
For testing I think the tests I really trust will be on staging/production so we should keep an eye out for those deploys and be quick to resolve/revert, I think we may be missing some of the Apple route that are defined in the site-association-something file that lives on our web app. Let me know if I'm mistaken there though please.
I can generate AdHocs as a first pass, I would love to generate a production Android build locally too but sadly don't think I'm going to find time for that 😞
@Julesssss I think that we can test on staging if you're fine with it 👍 We can also ask a C+ for the first look on adhocs which should make us a bit more confident before the merge. Could you trigger an adhoc on the PR and ask someone to test Android?
This issue has not been updated in over 15 days. @Julesssss, @war-in 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!
We're close to the Wildcard deeplinks PR, it's now in final review. But if merged today it will hit prod until Thursday at the earliest.
This is a big change to many flows including unknown cases, so that isn't enough time for us to verify and catch regressions. I'm going ooo starting Thursday so to be safe we'll hold the changes until I'm back.
I thought about handing over but this is a pretty annoying mobile task with a chain of PRs and lots of testing needed on prod, pretty tough people unfamiliar with HybridApp 😕
Activity
Julesssss commentedon Aug 10, 2026
FYI @trjExpensify
trjExpensify commentedon Aug 11, 2026
Perf, thank you and thank you @war-in for picking it up. For some added context, we're getting a new partner up and running on an integration in the coming weeks and they're going to use this one - so we need to get the redirect working reliably as some mutual customers might be on NewDot and others Classic. Thanks!
Julesssss commentedon Aug 11, 2026
Discussing some of the details here in the slack thread
war-in commentedon Aug 12, 2026
I deep-dived into the codebase and prepared a plan for implementing that feature:
apple-app-site-associationwithAndroidManifestso Android and iOS handle the same linksSplitting that work into multiple PRs will allow for better readability and will simplify reviewing & testing process.
Julesssss commentedon Aug 17, 2026
PR looking good, added 2 comments about the app lifecycle.
war-in commentedon Aug 18, 2026
@Julesssss comments addressed; thank you!
Also, how do you feel about testing the app? I know there are issues with testing the iOS app on adhocs but android should be testable. Could we ask the QA team to perform deeplink-related regression testing on the PR, so we catch all errors early?
Julesssss commentedon Aug 18, 2026
For testing I think the tests I really trust will be on staging/production so we should keep an eye out for those deploys and be quick to resolve/revert, I think we may be missing some of the Apple route that are defined in the site-association-something file that lives on our web app. Let me know if I'm mistaken there though please.
I can generate AdHocs as a first pass, I would love to generate a production Android build locally too but sadly don't think I'm going to find time for that 😞
war-in commentedon Aug 19, 2026
@Julesssss I think that we can test on staging if you're fine with it 👍 We can also ask a C+ for the first look on adhocs which should make us a bit more confident before the merge. Could you trigger an adhoc on the PR and ask someone to test Android?
15 remaining items
war-in commentedon Sep 10, 2026
This still applies. @Julesssss can we make it at least weekly?
melvin-bot commentedon Oct 5, 2026
This issue has not been updated in over 15 days. @Julesssss, @war-in 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!
aimane-chnaif commentedon Oct 11, 2026
Assigning myself since I reviewed the linked PR
Julesssss commentedon Oct 15, 2026
Updated todo list:
Sorry for delays @war-in @aimane-chnaif, I think these are the next steps:
Julesssss commentedon Oct 20, 2026
We're close to the Wildcard deeplinks PR, it's now in final review. But if merged today it will hit prod until Thursday at the earliest.
This is a big change to many flows including unknown cases, so that isn't enough time for us to verify and catch regressions. I'm going ooo starting Thursday so to be safe we'll hold the changes until I'm back.
I thought about handing over but this is a pretty annoying mobile task with a chain of PRs and lots of testing needed on prod, pretty tough people unfamiliar with HybridApp 😕
Here's the plan and next steps: