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

[iOS] [universal link]It should be possible to open staging and product urls in the proper app #2480

Open
liliya-soroka opened this issue Jul 13, 2022 · 10 comments · Fixed by safe-global/safe-wallet-monorepo#1766
Assignees
Labels
bug Doesn't work as expected Major Fix within 2 weeks

Comments

@liliya-soroka
Copy link
Member

liliya-soroka commented Jul 13, 2022

Bug description
[universal link]It should be possible to open staging and product urls in the proper app
Steps To Reproduce

  1. Open links from staging on mobile
    https://safe-team.staging.gnosisdev.com/rin:0x1230B3d59858296A31053C1b8562Ecf89A2f888b/transactions/ethereum_0x1230B3d59858296A31053C1b8562Ecf89A2f888b_0xb646fd83d156a4da55f38e6668ce95ebdb13a6e35057286b7afb6bf021b8c4a1_0x1674b3fd93555c44

https://safe-team.staging.gnosisdev.com/app/matic:0xb412684F4F0B5d27cC4A4D287F42595aB3ae124D/balances
https://safe-team.staging.gnosisdev.com/app/matic:0x7824DFC748f9048174863173f0504491CE58ba2D/balances
https://safe-team.staging.gnosisdev.com/app/matic:0x7824DFC748f9048174863173f0504491CE58ba2D/transactions/history
https://safe-team.staging.gnosisdev.com/app/matic:0x7824DFC748f9048174863173f0504491CE58ba2D/transactions/queue

Expected Result
image.png
Screenshots

Also to retest:

  • Adding owner from link
  • Sharing add owner link

What needs to be done
(From refinement on February 14th)

  • Investigation what needs to be done on mobile side and fix if it's mobile only
  • Timbox 4 pomodoros

Device & App version

  • Device/OS: iPhone 11/15.4
  • App version: 3.14.0 (1204)

Environment
staging
Additional info
(Optional)

@liliya-soroka liliya-soroka added the bug Doesn't work as expected label Jul 13, 2022
@elgatovital elgatovital self-assigned this Jul 14, 2022
@MouazAlzahabi MouazAlzahabi added the Major Fix within 2 weeks label Jul 14, 2022
elgatovital added a commit that referenced this issue Jul 14, 2022
elgatovital added a commit that referenced this issue Jul 14, 2022
elgatovital added a commit that referenced this issue Jul 14, 2022
elgatovital added a commit that referenced this issue Jul 14, 2022
elgatovital added a commit that referenced this issue Jul 14, 2022
elgatovital added a commit that referenced this issue Jul 14, 2022
MouazAlzahabi pushed a commit that referenced this issue Jul 14, 2022
@JagoFigueroa
Copy link

Hola guys! Unfortunately none of the links shared on this ticket are opening for me on the staging version of the app ( I'm at version 3.14.0 (1213).

If I open the link from a note it will open the browser for me with no option to open the app from there and if I paste the link on the browser directly I will see no option to open the link on the app as well.

Could you have a look? Thanks!

@DmitryBespalov
Copy link
Contributor

we'll do, but this would be not a blocker for a release. The production needs to open, that's important

@biafra23
Copy link
Contributor

biafra23 commented Sep 9, 2022

Has this been solved by the branch that has been merged?

@biafra23
Copy link
Contributor

biafra23 commented Mar 1, 2023

According to https://developer.apple.com/documentation/Xcode/supporting-associated-domains#Add-the-associated-domain-file-to-your-website a file called .well-known/apple-app-site-association at that domain is needed.

https://gnosis-safe.io/.well-known/apple-app-site-association contains the follwing:

{
    "applinks": {
        "details": [
            {
                "appIDs": [
                    "ZKG876RKJ8.io.gnosis.multisig.prod.mainnet",
                    "ZKG876RKJ8.io.gnosis.multisig.prerelease",
                    "ZKG876RKJ8.io.gnosis.multisig.dev.mainnet",
                    "ZKG876RKJ8.io.gnosis.multisig.dev.rinkeby",
                    "ZKG876RKJ8.io.gnosis.multisig.staging.mainnet",
                    "ZKG876RKJ8.io.gnosis.multisig.staging.rinkeby"
                ],
                "components": [
                    {
                        "/": "*",
                        "comment": "Matches all universal links"
                    }
                ]
            }
        ]
    }
}

Our Gnosis team id was and is ZKG876RKJ8. So these appIDs should match.

@biafra23
Copy link
Contributor

biafra23 commented Mar 2, 2023

To fix this we should do the following:

  • Find out what the current staging domain is -> https://safe-web-core.staging.5afe.dev/ ?
  • Put a similar file there WITHOUT the prod appIDs
  • Change the domain in the DEV entitlements file
  • Wait 24h until Apple caches the file in its CDN. Try ?mode=developer in the meantime.

@biafra23 biafra23 assigned biafra23 and unassigned elgatovital Mar 2, 2023
@biafra23
Copy link
Contributor

biafra23 commented Mar 2, 2023

We need the following to served at: https://safe-web-core.staging.5afe.dev/.well-known/apple-app-site-association

{
    "applinks": {
        "details": [
            {
                "appIDs": [
                    "ZKG876RKJ8.io.gnosis.multisig.prerelease",
                    "ZKG876RKJ8.io.gnosis.multisig.dev.mainnet",
                    "ZKG876RKJ8.io.gnosis.multisig.dev.rinkeby",
                    "ZKG876RKJ8.io.gnosis.multisig.staging.mainnet",
                    "ZKG876RKJ8.io.gnosis.multisig.staging.rinkeby"
                ],
                "components": [
                    {
                        "/": "*",
                        "comment": "Matches all universal links"
                    }
                ]
            }
        ]
    }
}

And at: https://app.safe.global/.well-known/apple-app-site-association we need:

{
    "applinks": {
        "details": [
            {
                "appIDs": [
                    "ZKG876RKJ8.io.gnosis.multisig.prod.mainnet"
                ],
                "components": [
                    {
                        "/": "*",
                        "comment": "Matches all universal links"
                    }
                ]
            }
        ]
    }
}

@biafra23
Copy link
Contributor

The fix will make sure, that URLs to tx details generated by the webapp will open the correct ios app (staging or prod). Regarding the wallet connect links, we will not be able to correctly open the staging app. The reason is that these urls are determined by the Dapp and not the bundli of the isntalled ios app.

@liliya-soroka
Copy link
Member Author

liliya-soroka commented Mar 31, 2023

  1. staging URL is opened correctly - app version 3.19.0 (1654)
  2. prod URL opens the correct app , but the tx details is not opened ( note the safe exists in the prod app) - the URL that was used - https://app.safe.global/gor:0xC642bEc0e4f69815e89723C09caA8DAa524cAc9c/transactions/tx?id=multisig_0xC642bEc0e4f69815e89723C09caA8DAa524cAc9c_0x41eb3ed93edb66d77c9445419108f4893335d90ff43d1dc6fbf719e142121be6. - app version 3.19.0 (1658)
    Image

@liliya-soroka
Copy link
Member Author

The mobile app should support a new format to open the links from the web. Will it be a part of this issue or will we have a separate issue to support a new format?
In the PR - safe-global/safe-wallet-monorepo#1870 - the support of the old format links from the mobile app is added on web, so it will be possible to open the old links from mobile on web
@the-real-chrizzo and @MouazAlzahabi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Doesn't work as expected Major Fix within 2 weeks
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants