Context
PR #857 added a global overlay with a carousel of pending dApp requests and a "Reject All" button. The carousel currently lets users browse pending requests but they can only reject all — they can't select a specific request to review/respond to.
Desired Behavior
When the user swipes through the carousel and taps a specific request card, the app should:
- Skip/reject all requests before the selected one in the queue
- Navigate to the detail screen for the selected request
- The user can then accept or reject that specific request
Technical Considerations
- The
unifiedReownFlowListener saga processes requests sequentially from an action channel
- The current request is mid-flight in
handleRpcRequest → promptHandler (Promise-based)
- To "jump" to a selected request, we'd need to:
- Reject the current request (dispatch
reownReject())
- Auto-reject queued requests before the selected one via
walletKit.respondSessionRequest()
- Let the queue naturally reach the selected request (it already skips already-responded requests)
Alternative Approach
Add per-card "Accept" / "Reject" / "Review" buttons directly on the carousel cards:
- Read-only requests (Get Balance, Get Address, Get UTXOs): Show "Accept" / "Reject" buttons that respond directly via WalletKit, bypassing the saga queue
- Write operations (Send Transaction, Create Token, Nano Contract): Show "Review" button that navigates to the detail screen
This would be more powerful but requires handling responses outside the saga queue.
Related
Context
PR #857 added a global overlay with a carousel of pending dApp requests and a "Reject All" button. The carousel currently lets users browse pending requests but they can only reject all — they can't select a specific request to review/respond to.
Desired Behavior
When the user swipes through the carousel and taps a specific request card, the app should:
Technical Considerations
unifiedReownFlowListenersaga processes requests sequentially from an action channelhandleRpcRequest→promptHandler(Promise-based)reownReject())walletKit.respondSessionRequest()Alternative Approach
Add per-card "Accept" / "Reject" / "Review" buttons directly on the carousel cards:
This would be more powerful but requires handling responses outside the saga queue.
Related