walletconnect-monorepo
walletconnect-monorepo copied to clipboard
"No Matching Key" Errors on iOS When Using `session.ping` After QR Code Scanning
Describe the bug
Hi all,
In our SDK, which you can check out here, we use session.ping to verify a wallet’s readiness.
Our flow works as follows:
- When a user initiates a request to a wallet, we display a "Request sent" toast notification.
- Before sending the actual request, we issue a
session.pingto ensure the wallet is ready to approve or reject it. - If the wallet is ready, and the
session.pingresolves, we update the toast notification to display "Awaiting confirmation from wallet."
This process works well generally, but we’ve noticed that on iOS devices, when a user scans the QR code, the ping triggers "No matching key" errors in the console.
I’ve reproduced this issue using a simplified Stackblitz repo, which you can access here. Note that the project ID is missing. For testing, I used TrustWallet, as it is available on both Android and iOS.
SDK Version (if relevant)
- Client: signClient
- Version: 2.11.2 (BeaconSDK), 2.15.1 (Example DApp)
To Reproduce
Steps to reproduce the issue:
- Pair a wallet by scanning a QR code with an iOS device.
- Send a ping before sending a request.
Expected Behavior
"No matching key" errors should not appear in the console.
Device Used for Testing
- Device: iPad Air
- OS: iPadOS 17.6
- TrustWallet
- Version: 11.12.0
thanks for the report @IsaccoSordo, I will investigate it.
Before sending the actual request, we issue a session.ping to ensure the wallet is ready to approve or reject it.
Generally, this step isn't required and it might actually degrade the UX because the ping would not resolve unless the wallet is online and reachable. If you just send the request, without the ping, the wallet would be booted via deep link and the users should be able to approve/reject the request