-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
WalletConnect - MetaMask redirects to the App Store before transaction can be authorised #3914
Comments
Update:
Linking.openURL(url) launches MetaMask via the metamask.app.link URL and triggers the in-app browser, which is then redirecting the user to the app store - even if they have the app installed. We've came up with a workaround for this issue and deployed a patch to use the connected wallet deeplink to launch the wallet app instead of the wallet service URL previously being generated.
This resolves the issue for now, MetaMask opens correctly without redirected to the app store and the transaction pop-up is displayed correctly. |
The universal URL should still open MetaMask without prompting the AppStore. Perhaps there is an issue with how they have configured the universal URL when opened with parameters (i.e. sending the sign personal message command via deep link). Thanks for the quick fix info though. This could be a good alternative if the issue takes long to be resolved. |
Thanks @davidm03 and @epshtielsl. I'll test the fix and eventually integrate in the app. Thanks again. |
Any news about this problem? |
yes also hoping for some news. Thanks. |
Me too. |
@davidm03 The fix you mentioned above, How can we use that fix when using walletconnect?? I can't find |
Did you try the latest version of the app (5.0.x) as most of the deep links related issue should be solved with it. Please let me know. Thanks! |
I still have the issue on iOS. Metamask deep link doesn't work. It still going to App Store. |
Did you check the solution suggested here? |
The file I mentioned can be found within node_modules > @WalletConnect > react-native-dapp > providers > WalletConnectProvider.js We used the patch package library to create a patch to apply this fix on every npm install and ensure it's not overridden. |
The same. |
@andreahaku i'm using 5.0.1 and still have the same issue in IOS Safari. You can try it here https://cowswap.staging.gnosisdev.com (approving a token for example). I use |
I have same problem in my React Native app, but it is not happen in all apps |
Not sure if related but https://metamask.app.link/dapp/Google.com from iOS safari opens App Store while clicking the same link in any “inapp browser” (like Telegram or WhatsApp) does work |
Having the same issue on iOS. Wallet Connect opens the App Store even if MetaMask is installed + Wallet is setup. |
The solution for me was to ensure the web3 provider send request (RPC API) was the first network request after a user action. I've deployed an example here forked from web3-react/example-next (v8) which consistently reproduces the issue when the checkbox is ticked on iOS by making a random async request first instead. Example diff here: xaun/web3-react@694f791 I'm guessing this is something to do with mobile devices blocking redirections (deeplinks/universal links/or what not) that are not detected as derived from a user action.. something along the lines maybe? I'de love to know exactly why this behaviour occurs, as it's been a bit of a journey to figure out this "gotcha". @davidm03 what invokes your |
@xaun Very interesting solution + theory, thanks for sharing. As for my |
Still happening for me...so frustrating. |
Still an issue for me. I'm using Rainbow kit. It also happens when you use Uniswap or AAVE and try to sign in with WalletConnect. Crazy it's still broken! |
Also don't updated your Metamask on iOS to the latest version that was released recently or it'll completely stop working. The code example I gave above doesn't work anymore, nor does connecting with well known sites like Uniswap (noting they're using the same underlying |
For some reason this works for me for both spawnBug set or unset. But my app still redirects to appstore even when spawnBug is false. Any idea? |
This has frustrated me forever, but today I stumbled on a weird fix. I have no idea why it works, but it has for me every time. When I initiate a transaction and am told to sign in my wallet, Im then automatically redirected to the App Store, to the MetaMask Page. In the App Store, next to the MetaMask logo is a back arrow. (Not the one to go back to MetaMask, the one to go back to App Store home page) Tap dat. Then, use the top left arrow to go back to MetaMask: for me, the place to sign is right there waiting. Hope this works for others, I have no idea how or why it does for me. |
If the metamask is not in quit state, the transaction is already pending in metamask. Its just the redirection was gone to Appstore. |
I had the same issue on my iPhone. Fixed it by long-pressing the MetaMask symbol when in the WalletConnect menu. You get a dropdown list whereafter you can select “Open with MetaMask”. |
Having the same issue on iOS. The latest Metamask version. Wallet Connect opens the App Store even if MetaMask is installed. So frustrating p/s: Other wallets worked fine (Coin98, Trust, GNosis...) |
Unfortunately, I also ran into this problem. Is there a solution now? |
We just release an update of the app (v5.12.0 and up) that should help fix this issue. It's rolling out now on Android and iOS. Please let me know if this solves or not. Thanks |
@andreahaku Thanks, I just tried it with v5.12.0, unfortunately the result didn't change metamask-dome-video.mp4 |
@SunnyCheung-cp we don't support WC v2.0 for now. We only support WC v1 |
@andreahaku why won't you support WC v2 ? What is the reason behind this ? Metamask has a large market share of wallets out there and wallet connect provides a great UX experience for onboarding users.... Also which parts of the integration from a technical perspective is not supported ? |
Bruh fix this already |
How is this still ongoing after a full year? Is there any working for browser apps similar to what @davidm03 did for the native dependency? I have a web app which is largely used on phones and am struggling to get a decent UX with walletconnect and MetaMask |
it's like this issue comes up again after every upgrade. can't it be fixed once and for all? |
This has been tackled multiple times already but some still have this problem. What we've found for example is that this mainly happens on iOS. This may happen if you have a not "stable" (read beta or RC) version of iOS installed on your iOS device. WC is aware of that and to finally fix this they are developing a new modal that uses deep links (so URL schemas like Hopefully this should solve the unreliability of some WC connections using universal links. |
I agree, this is super annoying, we get complaints from time to time. I also experienced it many times, and I don't have a Awesome if this PR fixes it, it has been there for a while and I feel like especially WC is important for mobile devices, and IOS is nothing to leave behind. Thanks in advance to the one tackling it, I hope the new solution works 🤞 |
This issue happens(for me) after I was asked to redirect (open) MetaMask to sign a transaction and I clicked on cancel (because it was a mistake).. there after I got redirected to the AppStore and not the app. Same with other wallets. |
Is there any solution for this?? the weird part about it is that on some phones ( IOS ) it does it correctly and on others, it does not. |
i m also facing one issue its exist on triggering the transaction not on connection when i connect wallet and use ### https://metamask.app.link/wc?uri=ecncode(wc) so its open wallet and pop up appear then redirect to the dapp . |
This issue has been automatically marked as stale because it has not had recent activity in the last 90 days. It will be closed in 7 days. Thank you for your contributions. |
This problem is still relevant, we are waiting for fixes. |
Hi all! We are trying to replicate this issue. Can you please clarify the following?
|
This issue has been automatically marked as stale because it has not had recent activity in the last 90 days. It will be closed in 7 days. Thank you for your contributions. |
This issue was closed because there has been no follow activity in 7 days. If you feel this was closed in error please provide evidence on the current production app in a new issue or comment in the existing issue to a maintainer. Thank you for your contributions. |
The problem is still not resolved. |
Describe the bug
When a user attempts to send a transaction from our dapp using WalletConnect and MetaMask - the MetaMask app will open, the transaction pop-up will appear with all the transaction details pre-filled from our dapp for a very brief period of time (maybe less than 1 second), then the MetaMask app will redirect/open the app store as if the user does not have MetaMask installed. If the user navigates back to the MetaMask app from the app store, the browser tab is open with the metamask.app.link url inserted but the user is not able to get the transaction pop-up to reappear and no response is sent back to our dapp ever.
To Reproduce
Difficult to reproduce without access to our dapp but I'll do my best to explain.
The following code is being used to call the sendTransaction function via WalletConnect after a user has connected a MetaMask wallet.
Expected behavior
User is redirected to MetaMask to authorise the transaction, transaction pop-up is displayed to the user for authentication, app store should not open as the user already has the app installed, user is able to approve/reject the transaction and should the be redirected back to our dapp and response returned to WalletConnect sendTransaction function.
Smartphone (please complete the following information):
The text was updated successfully, but these errors were encountered: