Description
Description

ERROR {"context": "client"} Missing or invalid. Record was recently deleted - proposal: 1746767498888928
We recently migrated from WalletConnect to Reown, and encountered a regression in session handling behavior.
At first, we thought it was an issue on our side, but we confirmed that the same problem also occurs in Reown’s official wallets/rn_cli_wallet implementation.
Even though the session proposal is successfully approved, we observe that a proposal_expire
event is triggered 5 minutes later.
This behavior did not occur in @walletconnect/web3wallet: 1.12.3
, but has been consistently observed in all versions of Reown
Expected Behavior
Once a session proposal is approved and the session is connected, the proposal should not expire.
Actual Behavior
After successful approval and connection, the proposal_expire
event still fires after 5 minutes.
Log
[session proposal] {"id": 1746767498888928, "params": {"expiryTimestamp": 1746767798, "id": 1746767498888928, "optionalNamespaces": {"eip155": [Object]}, "pairingTopic": "13a3cf85f6cdf22152c8dfea303603521884dcc2a90d69846922d20d118b6539", "proposer": {"metadata": [Object], "publicKey": ""}, "relays": [[Object]], "requiredNamespaces": {}}, "verifyContext": {"verified": {"origin": "https://opensea.io", "validation": "UNKNOWN", "verifyUrl": "https://verify.walletconnect.org"}}}
[session approve] {"session": {"acknowledged": false, "controller": "23106d9484df4d859202dcfdf940253ec1d4ac11750097f8a03ebba218f7f570", "expiry": 1747372535, "namespaces": {"eip155": [Object]}, "optionalNamespaces": {"eip155": [Object]}, "pairingTopic": "13a3cf85f6cdf22152c8dfea303603521884dcc2a90d69846922d20d118b6539", "peer": {"metadata": [Object], "publicKey": ""}, "relay": {"protocol": "irn"}, "requiredNamespaces": {}, "self": {"metadata": [Object], "publicKey": ""}, "topic": "1d3440cd3da19921213b21c69f415e8dbd03a58efdacb68a0ca43449b5331fcb", "transportType": "relay"}}
[activate session] {"1d3440cd3da19921213b21c69f415e8dbd03a58efdacb68a0ca43449b5331fcb": {"acknowledged": true, "controller": "23106d9484df4d859202dcfdf940253ec1d4ac11750097f8a03ebba218f7f570", "expiry": 1747372535, "namespaces": {"eip155": [Object]}, "optionalNamespaces": {"eip155": [Object]}, "pairingTopic": "13a3cf85f6cdf22152c8dfea303603521884dcc2a90d69846922d20d118b6539", "peer": {"metadata": [Object], "publicKey": ""}, "relay": {"protocol": "irn"}, "requiredNamespaces": {}, "self": {"metadata": [Object], "publicKey": ""}, "topic": "1d3440cd3da19921213b21c69f415e8dbd03a58efdacb68a0ca43449b5331fcb", "transportType": "relay"}}
ERROR {"context": "client"} Missing or invalid. Record was recently deleted - proposal: 1746767498888928
Issue Environment
- dapps/W3MEthers
- dapps/W3MEthers5
- dapps/W3MWagmi
- wallets/rn_cli_wallet
- wallets/rn_cli_wallet_068_5
- In my own code
Output of npx react-native info
System:
OS: macOS 15.1.1
CPU: (16) arm64 Apple M3 Max
Memory: 64.58 GB / 128.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.20.4
path: ~/.nvm/versions/node/v18.20.4/bin/node
Yarn:
version: 3.6.4
path: ~/.nvm/versions/node/v18.20.4/bin/yarn
npm:
version: 10.7.0
path: ~/.nvm/versions/node/v18.20.4/bin/npm
Watchman: Not Found
Managers:
CocoaPods: Not Found
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.1
- iOS 18.1
- macOS 15.1
- tvOS 18.1
- visionOS 2.1
- watchOS 11.1
Android SDK:
API Levels:
- "28"
- "33"
- "34"
- "35"
Build Tools:
- 33.0.1
- 34.0.0
- 35.0.0
System Images:
- android-29 | Google Play ARM 64 v8a
- android-34 | Google APIs ARM 64 v8a
- android-35 | Google Play ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2024.1 AI-241.18034.62.2412.12266719
Xcode:
version: 16.1/16B40
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.12
path: /usr/bin/javac
Ruby: Not Found
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.74.3
wanted: 0.74.3
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false
Steps to reproduce
git clone https://github.com/reown-com/react-native-examples.git
cd ./react-native-examples/wallets/rn_cli_wallet
yarn android
- User scans the QR code
- Session proposal is received by the wallet
- User approves the session proposal
- Dapp establishes session (Session Connect)
- Approximately 5 minutes later, a
proposal_expire
event is triggered, despite the session already being approved and connected