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

Bug Report - Message Signing Issue After Mobile Wallet Connection #56

Open
donnagifts opened this issue Jan 15, 2025 · 1 comment
Open

Comments

@donnagifts
Copy link

Hello Metamask team,

We have identified a significant issue regarding message signing immediately after wallet connection, primarily affecting Android mobile devices.

Description:

  • Expected Behavior: Users should be able to sign messages as soon as the wallet enters the connected state
  • Current Behavior: Although the isConnected property is correctly set to "true", calling signMessage doesn't trigger any prompt in the wallet. No errors are displayed in the browser console.

Technical Details:

  • The issue is intermittent and varies across different Android device models
  • Environment: Latest Chrome, Latest Metamask
  • Packages: appkit 1.6.3, @wagmi/core 2.x
  • Node.js: 22.12.0

Reproduction:

Additional Context:
The issue has been documented in this GitHub issue: reown-com/appkit#3601. "Reown" is the new name of "Wallet Connect" and Appkit is the package we use in our implementation.

There appears to be a delay between the completion of the connection phase and the wallet's readiness to handle message signing operations.

Could you help us investigate this issue? We're available to provide any additional information needed.

Best regards,

@christopherferreira9
Copy link

Hi @donnagifts !
From the example you provided it seems that you're trying to trigger a signing request programmatically as soon as the user connects his wallet. Because the wallet send the user back on android to the dapp after connecting you end up not seeing the signing prompt appear in MetaMask even though it's there to be displayed.
From the video above you'll see that after connecting I manually switch to the MetaMask wallet and the signing request is there and because I manually switching from the dapp to the wallet the goBack feature ends up directing me to my homescreen instead of the dapp.
Generally speaking, programmatically triggering a deeplink is not advisable as some OSs' will flag this and prevent the user to be directed to the Wallet even though the request comes through.
Keep in mind that according to the example you provided you're listening to the whole modal state and thus, simply opening the modal will trigger this modal + prompt a signing request.

It is strongly advised that any request that should direct the user to the wallet is tied to a user action such a tap on a button.

Screen.Recording.2025-01-16.at.1.33.47.PM.mov

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants
@christopherferreira9 @donnagifts and others