-
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
[$2000] Deep links are broken on iOS #15158
Comments
Triggered auto assignment to @arielgreen ( |
Bug0 Triage Checklist (Main S/O)
|
@marcaaron we had an old Issue on this which was closed. There was a bigger discussion. I'll try to link it in a bit |
Thanks @mvtglobally (great memory)! I'll leave a comment over there. They seem like the same issue so if anything we will keep this one open and leave that one closed. |
Job added to Upwork: https://www.upwork.com/jobs/~01d64bfcd13e8d5909 |
Current assignee @arielgreen is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat ( |
Triggered auto assignment to @NikkiWines ( |
Added |
Is it still open for new ones? |
@NikkiWines @parasharrajat This seems to be a feature request. Did it ever worked on iOS? As far as I can see, |
Ref: #10893 |
Ok, @allroundexperts. We are happy to take proposals here. @bjin9 Yes it is open. |
Next time, please post complete proposals. Also, do explain why
|
ProposalPlease re-state the problem that we are trying to solve in this issue.We're trying to make universal links work between the web app and the mobile app on iOS. What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?
|
This may be due to https://new.expensify.com/.well-known/apple-app-site-association not setting the correct |
Oops, the PR to change the content-type for the AASA file was merged, but the deep links are not opening the installed iOS app instead of the browser. |
The universal link diagnostics and the AASA validator indicate that everything is fine: Upload.from.GitHub.for.iOS.MOVBut links to production and staging are still opening the browser e.g. |
It may be worth to check if this is related to cache, I think apple check those urls once a week but not really sure |
@marcochavezf Can you please remove the "HOLD" from the title, this is not fixed yet. |
Yeah, that was my first thought, but it has already passed a week since the apple-app-site-association file was updated. Probably we'd need to wait for a few days more. |
@marcochavezf, @parasharrajat, @arielgreen Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Update here. It seems that we'd need to wait until the other change is deployed to production and test again. |
@marcochavezf is this still held? |
Looking for more ideas of what could be the issue here. |
I did some research on that and found some interesting things. It was extremely difficult for me to get any one app to handle universal links. However I discovered that most domains uses different formats of AASA file than we do. Great example (and working one!) is YouTube: {
"applinks": {
"apps": [],
"details": [
{
"appID": "EQHXZ8M8AV.com.google.ios.youtube.dev",
"paths": [
"NOT /yt/*",
// Whole bunch of NOTs here,
"*"
]
},
// tonns of other appIDs
]
}
} The differences to our file are:
There are other domains that follow similar format (pretty much every one I checked) but with Interestingly youtube.com is the only one that Diagnostics in Settings finds correct (apart from us, but unlike us YouTube actually works). |
After some more investigation I have one more thought to be tested. In fact, iOS does not query our associated file directly. Instead, it uses apple-cdn by getting from url such like For some reason it does return 404 for our domain, while it works for pretty much every other I tested. My guess would be that there is something wrong with our response when serving associated-domains file. In fact, there are quite some headers and two cookies being returned. Can we try simplify that as much as possible and leave only relevant headers and no cookies. For reference, this is set of headers returned by branch for one of apps:
|
I think it is definitely that 404 error issue. |
Thanks for the insights @mczernek! We're discussing with the infra team the headers issue. |
After more investigation seems that our firewall is blocking Apple's crawler from pulling the AASA file from our servers. Infra already updated the rule. So I think we should only need to wait a few days to corroborate if the apple-cdn is updated. |
It's working now! RPReplay_Final1680179383.MP4 |
For future reference, if someone has a similar problem in the future, the problem was the firewall. We were getting this error from the headers of the apple cdn And someone else that had the same error, posted in the apple developer forum that the problem was their firewall configuration: https://developer.apple.com/forums/thread/675324?answerId=668081022#668081022 |
I will close this one since it's working on staging (app from TestFlight) and production. Thank you all so much for your help! |
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:
Expected Result:
App should open to the settings page
Actual Result:
Safari or other default web browser opens the page
Workaround:
Open the app directly
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: v1.2.71-1
iOS Version: 16.3.1
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
Expensify/Expensify Issue URL:
Issue reported by: @shawnborton
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1676413158858859
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: