family / connectkit

Connecting a wallet, made simple.
https://docs.family.co/connectkit
BSD 2-Clause "Simplified" License
854 stars 184 forks source link

[BUG] Coinbase dApp confirmation not appearing on phone, using phones browser #373

Open menix1337 opened 6 months ago

menix1337 commented 6 months ago

Describe the bug

Coinbase does not show dAPP login on IOS.

I personally use Infura.

To reproduce

  1. Open ConnectKit Docs on your phone, in your phone browser (Chrome / Safari)
  2. Connect Wallet
  3. Select Coinbase

Witness Coinbase dapp authintication not appearing

Expected behavior

I exoect the Coinbase dApp authintication to appear, for the user to "approve" or "deny" his login.

Screenshots

None

Environment details

iOS, Chrome

Additional context

I use Infura api. I'm not sure if this is caused by not having Alchemy API as a fallback option. But it works fine if you are scanning the QR code on phone, to your webbrowser on PC. Then it appears, however trying to login on phone, on the website (on phone) doesn't seem to have any dapp appearing for Coinbase.

It also works through coinbase's in-app browser, but obviously thats just a hassle to use.

Metamask etc works fine.

Or is there a specific setting you need to set?

Drewsapple commented 5 months ago

I have the same issue, on both iOS and andriod devices. On andriod, it opens the cbw app and then does nothing, on iOS it opens the app store to the coinbase wallet app, despite the latest version being installed.

Is there an easy way to introspect/log what happens with walletlink?

menix1337 commented 5 months ago

I figured out RainbowKit just auto-opens the Coinbase Browser, with the login. (Where ConnectKit doesnt do that)

I am not sure if perhaps Coinbase does NOT have a dApp in-app auth system for this? Or if its wallet connect kit(s) related

Drewsapple commented 5 months ago

Almost every wallet uses WalletConnect to pass messages between browsers and wallets via websockets, Coinbase forked it a long time ago and uses their own protocol called walletlink. Zora (via the privy connector) used to set up a walletlink session properly, but in checking again just now, it uses the coinbase browser. Web3modal does the same.