-
Notifications
You must be signed in to change notification settings - Fork 5.4k
fix: hovered address list component #37539
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/accounts-engineers (12 files, +2799 -1)
👨🔧 @MetaMask/core-extension-ux (2 files, +24 -40)
|
.../multichain-accounts/multichain-address-rows-hovered-list/multichain-aggregated-list-row.tsx
Show resolved
Hide resolved
...counts/multichain-address-rows-hovered-list/multichain-hovered-address-rows-hovered-list.tsx
Outdated
Show resolved
Hide resolved
...counts/multichain-address-rows-hovered-list/multichain-hovered-address-rows-hovered-list.tsx
Outdated
Show resolved
Hide resolved
Builds ready [a36d728]
UI Startup Metrics (1168 ± 113 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [2da485d]
UI Startup Metrics (1273 ± 102 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
...counts/multichain-address-rows-hovered-list/multichain-hovered-address-rows-hovered-list.tsx
Show resolved
Hide resolved
...counts/multichain-address-rows-hovered-list/multichain-hovered-address-rows-hovered-list.tsx
Show resolved
Hide resolved
Builds ready [2fccaef]
UI Startup Metrics (1264 ± 94 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
...counts/multichain-address-rows-hovered-list/multichain-hovered-address-rows-hovered-list.tsx
Outdated
Show resolved
Hide resolved
gantunesr
left a comment
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.
...ts/multichain-accounts/multichain-account-network-group/multichain-account-network-group.tsx
Outdated
Show resolved
Hide resolved
.../multichain-accounts/multichain-address-rows-hovered-list/multichain-aggregated-list-row.tsx
Show resolved
Hide resolved
Builds ready [4e35048]
UI Startup Metrics (1240 ± 92 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [a747b2d]
UI Startup Metrics (1215 ± 88 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
...ts/multichain-accounts/multichain-account-network-group/multichain-account-network-group.tsx
Outdated
Show resolved
Hide resolved
Builds ready [e8072b4]
UI Startup Metrics (1257 ± 92 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
...counts/multichain-address-rows-hovered-list/multichain-hovered-address-rows-hovered-list.tsx
Show resolved
Hide resolved
| 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': 3, | ||
| // Bitcoin mainnet | ||
| 'bip122:000000000019d6689c085ae165831e93': 4, | ||
| }; |
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.
Bug: Priority Mismatch: Inconsistent Network Display Order
The chainPriority values in MultichainAccountNetworkGroup don't match the PRIORITY_CHAIN_IDS Map in MultichainHoveredAddressRowsList. Bitcoin has priority 4 here but priority 1 in the parent, and Linea has priority 2 here but isn't in the parent's priority list at all. This causes inconsistent ordering where the parent component sorts items one way but the child component displays networks in a different order.
Builds ready [1f56716]
UI Startup Metrics (1254 ± 97 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
| import { MultichainAggregatedAddressListRow } from './multichain-aggregated-list-row'; | ||
|
|
||
| // Priority networks that should appear first (using CAIP chain IDs) | ||
| const PRIORITY_CHAIN_IDS = new Map<CaipChainId, number>([ |
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.
we should use the same priority list as the address list for consistency. For the address list, we can append Linea to the end
| ['bip122:000000000019d6689c085ae165831e93' as CaipChainId, 1], // Bitcoin mainnet | ||
| ['solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' as CaipChainId, 2], // Solana mainnet | ||
| ['tron:0x2b6653dc' as CaipChainId, 3], // Tron mainnet | ||
| ]); |
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.
Bug: Network Order Inconsistency: Priority List Discrepancy
The PRIORITY_CHAIN_IDS map is missing Linea mainnet (eip155:59144) which exists in the original address list component. This causes inconsistent network ordering between the hovered list and the full address list, as mentioned in the PR discussion about using the same priority list for consistency.
| setCopyIcon(IconName.Copy); | ||
| timeoutRef.current = null; // Clear the reference after timeout resolves | ||
| setAddressCopied(false); | ||
| }, 1000); |
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.
Bug: Stale Data Causes Display Inconsistency
The timeout callback captures truncatedAddress in its closure, which can become stale if the address prop changes while the timeout is pending. When the timeout fires after 1 second, it sets displayText to the old truncated address instead of the current one, causing the wrong address to be displayed after the copy feedback animation completes.
Builds ready [34b0287]
UI Startup Metrics (1221 ± 86 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|


Description
This PR introduces a new address list component that displays aggregated account addresses by chain type. EVM addresses will now be grouped together.
Changelog
CHANGELOG entry: Adds a hovered component when the address link is hovered over.
Related issues
Fixes: https://consensyssoftware.atlassian.net/browse/MUL-1226?atlOrigin=eyJpIjoiNGFiYzMyNTBlODg1NDI1NjhjZDRlNjhkOTI1NDk5YWEiLCJwIjoiaiJ9
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Screen.Recording.2025-11-11.at.19.31.01.mov
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Adds a hoverable multichain address list in the header that aggregates EVM networks with avatars, copy action, and a "View all" link, plus supporting components, i18n, styles, stories, and tests.
networkAddress(es)strings.multichainAddressViewAll,networkNameBitcoinSegwit; removesnetworkAddress/networkAddresses.CopyParamsfrommultichain-address-row.Written by Cursor Bugbot for commit 34b0287. This will update automatically on new commits. Configure here.