-
Notifications
You must be signed in to change notification settings - Fork 5.4k
fix: fix filtering problem on unified transaction list #38452
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
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. |
✨ Files requiring CODEOWNER review ✨👨🔧 @MetaMask/core-extension-ux (1 files, +106 -57)
|
Builds ready [ff60d12]
UI Startup Metrics (1240 ± 125 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
ui/components/app/transaction-list/unified-transaction-list.component.js
Show resolved
Hide resolved
ui/components/app/transaction-list/unified-transaction-list.component.js
Show resolved
Hide resolved
Builds ready [c5f8166]
UI Startup Metrics (1238 ± 137 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
ui/components/app/transaction-list/unified-transaction-list.component.js
Show resolved
Hide resolved
ui/components/app/transaction-list/unified-transaction-list.component.js
Outdated
Show resolved
Hide resolved
Builds ready [14dd835]
UI Startup Metrics (1241 ± 108 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
| * @param state - The Redux state. | ||
| * @returns EVM addresses in the selected account group. | ||
| */ | ||
| export function getSelectedAccountGroupEvmAddresses( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can getInternalAccountBySelectedAccountGroupAndCaip be reused here instead?
ui/components/app/transaction-list/unified-transaction-list.component.js
Outdated
Show resolved
Hide resolved
Builds ready [f590dd3]
UI Startup Metrics (1243 ± 122 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [4e0f567]
UI Startup Metrics (1222 ± 91 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Description
When a user navigates to the Swaps page, selects a non-EVM chain like Solana, and then navigates back to the Activity tab, EVM transactions were disappearing from the list. This happened because the transaction filtering logic was based on the currently selected account, which would fail when a non-EVM account was selected.
The fix updates the unified transaction list to fetch EVM transactions based on all EVM accounts in the account group, rather than just the currently selected account. This ensures that when switching between EVM and non-EVM accounts within the same account group, all transactions remain visible according to the global network filter settings.
Key changes:
getSelectedAccountGroupEvmAddressesselector to get all EVM addresses in the current account groupgetFilteredChainIdsto properly checkenabled === trueand added null safetyChangelog
CHANGELOG entry: Fixed a bug where EVM transactions disappeared from the Activity list when a non-EVM account was selected
Related issues
Fixes: #36361
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Ensures EVM transactions remain visible when a non‑EVM account is selected by filtering across the account group and enabled networks, with improved nonce grouping and non‑EVM filtering.
getInternalAccountBySelectedAccountGroupAndCaip('eip155:1')) to include both outgoing and incoming EVM txs, regardless of selected non‑EVM account.getAllNetworkTransactions, then filter by status (PENDING_STATUS_HASH), address, and enabledchainIds; group/sort usinggroupAndSortTransactionsByNonce.evmChainIds/nonEvmChainIdsfromenabledNetworks, honoring onlyenabled === truewith null‑safety.buildUnifiedActivityItemsandgroupAnyTransactionsByDate; apply token filters; filter non‑EVM txs by chain IDs and token.PENDING_STATUS_HASHusage.Written by Cursor Bugbot for commit 4e0f567. This will update automatically on new commits. Configure here.