fix: update transaction details bottom sheet status in real-time#26306
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
| const liveTransaction = useSelector((state: RootState) => | ||
| selectTransactionMetadataById(state, tx.id), | ||
| ); | ||
| const currentTx = liveTransaction |
There was a problem hiding this comment.
It might be worth to wrap it with useMemo
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection: Key changes:
Impact areas:
The change is contained to a single UI component but affects a core user flow (viewing transaction details). The selector used (selectTransactionMetadataById) is an existing, tested selector from transactionController.ts. The risk is medium because while the change is localized, it modifies how transaction data is sourced which could affect display correctness. Performance Test Selection: |
|



Description
The transaction details bottom sheet was displaying a stale transaction status when opened while a transaction was pending. The
TransactionDetailsSheetreceived the tx object as a static snapshot via navigation route params, so the status field never updated after the sheet was opened, leaving it stuck on "Pending" even after the transaction confirmed.The fix subscribes to live Redux state using
selectTransactionMetadataByIdwith the transaction ID.currentTxuses the live data when available and falls back to the static route param (e.g. if the transaction is no longer in the store).Changelog
CHANGELOG entry: Fixed a bug where the transaction details bottom sheet would show a stale "Pending" status even after the transaction was confirmed.
Related issues
Fixes: https://consensyssoftware.atlassian.net/browse/TMCU-426
Manual testing steps
Screenshots/Recordings
~Before
before1.mov
After
after1.mov
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Low Risk
Small UI data-source change limited to the transaction details sheet; main risk is regressions if the selector returns
undefinedor the shape differs from the route param.Overview
The transaction details bottom sheet now subscribes to Redux for the latest transaction metadata via
selectTransactionMetadataById, and uses this live object (falling back to the route param when missing).TransactionDetailsSheetis updated to render the header timestamp and passtransactionObjectfrom this livecurrentTx, fixing cases where the sheet previously stayed stuck on stale pending state while open.Written by Cursor Bugbot for commit 310ab63. This will update automatically on new commits. Configure here.