Skip to content

feat(activity-list): add ActivityListAccountImportTimeRow component a… - #31995

Merged
PatrykLucka merged 12 commits into
mainfrom
TMCU-916-update-assets-and-perps-details-activity-with-new-activity-list-items
Jun 23, 2026
Merged

feat(activity-list): add ActivityListAccountImportTimeRow component a…#31995
PatrykLucka merged 12 commits into
mainfrom
TMCU-916-update-assets-and-perps-details-activity-with-new-activity-list-items

Conversation

@PatrykLucka

@PatrykLucka PatrykLucka commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Description

This PR updates asset/token details activity lists to render the redesigned ActivityListItemRow when the activity redesign feature flag is enabled. It covers both EVM transactions rendered through Transactions and non-EVM transactions rendered through MultichainTransactionsView, while keeping bridge activity and the legacy path unchanged when the flag is disabled.

The implementation adds small asset-details adapter components that map existing transaction data into the unified activity item shape, preserve transaction-details navigation, and keep the legacy account-import marker behavior for EVM asset details. The activity redesign selector was moved to a shared feature flag selector module so route directories do not import from sibling routes.

Changelog

CHANGELOG entry: Updated asset details activity rows to use the redesigned activity list item when enabled

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/TMCU-916

Manual testing steps

Feature: Redesigned activity rows on asset details

  Scenario: user views EVM asset details with the activity redesign enabled
    Given the activity redesign feature flag is enabled
    And the selected EVM asset has local transaction activity

    When user opens the asset details screen
    Then the activity list uses the redesigned activity list item rows
    And the rows are horizontally aligned with the rest of the asset details content
    And tapping a row opens the transaction details sheet

  Scenario: user views EVM asset details with the activity redesign disabled
    Given the activity redesign feature flag is disabled
    And the selected EVM asset has local transaction activity

    When user opens the asset details screen
    Then the activity list uses the legacy transaction rows
    And tapping a row opens the legacy transaction details sheet

  Scenario: user views non-EVM asset details with the activity redesign enabled
    Given the activity redesign feature flag is enabled
    And the selected non-EVM asset has activity

    When user opens the asset details screen
    Then the activity list uses the redesigned activity list item rows
    And tapping a row opens the multichain transaction details sheet
    And bridge activity still uses the bridge transaction row

  Scenario: user views account import marker on EVM asset details
    Given the activity redesign feature flag is enabled
    And the selected EVM account has an import time insertion point

    When user opens the asset details screen
    Then the "Account added to this device" marker is shown in the same position as the legacy list
    And tapping the marker opens the import wallet tip sheet

Screenshots/Recordings

Before

Screenshot 2026-06-18 at 14 22 10 Screenshot 2026-06-18 at 14 22 24

After

Screenshot 2026-06-18 at 15 35 28 Screenshot 2026-06-18 at 15 35 16

Pre-merge author checklist

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
Medium risk from a gated but user-facing activity path that changes list rendering, keys, and navigation wiring on EVM and multichain asset details; approval amount labeling affects how users read spending caps.

Overview
Asset details activity switches to the redesigned list when tmcuActivityRedesignEnabled is true and location is asset details: Transactions and MultichainTransactionsView group items (pending/date headers), map txs through new AssetDetailsActivityListItem / MultichainAssetDetailsActivityListItem adapters, and keep legacy TransactionElement / MultichainTransactionListItem (including bridge rows) when the flag is off.

Adds ActivityListAccountImportTimeRow (EVM import-time marker + import tip navigation), ActivityListDateHeader, and centralizes formatActivityListDateHeader, getActivityValue, getActivityFromTo, and getGroupedActivityListItemKey in activity-adapters (also consumed by home ActivityList). selectIsActivityRedesignEnabled moves to selectors/featureFlagController/activityRedesign.

Display fixes: unlimited token approvals show localized Unlimited (and skip fiat) via isUnlimitedApproval on adapters and row content; pending queued state uses design-system Clock icon; multichain TokenApprove maps to spending-cap activity.

Reviewed by Cursor Bugbot for commit 46558cf. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

Copy link
Copy Markdown
Contributor

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.

@PatrykLucka PatrykLucka self-assigned this Jun 18, 2026
@metamask-ci metamask-ci Bot added the team-mobile-ux Mobile UX team label Jun 18, 2026
@PatrykLucka
PatrykLucka marked this pull request as ready for review June 18, 2026 13:36
@PatrykLucka
PatrykLucka requested a review from a team as a code owner June 18, 2026 13:36
@github-actions github-actions Bot added size-XL and removed size-L labels Jun 18, 2026
Comment thread app/components/UI/Transactions/index.js Outdated
Comment thread app/components/UI/Transactions/index.js Outdated
Base automatically changed from update-activity-list-item-row to main June 18, 2026 15:41
@metamask-ci

metamask-ci Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

PR template — items to address before "Ready for review"

Warnings — informational, address before merging:

  • Pre-merge author checklist has unchecked items (e.g. "I've tested on Android"). Every box must be consciously checked — see docs/readme/ready-for-review.md.

See docs/readme/ready-for-review.md for the full Definition of Ready for Review.

@PatrykLucka
PatrykLucka force-pushed the TMCU-916-update-assets-and-perps-details-activity-with-new-activity-list-items branch from 8cea28a to 4afc0ab Compare June 19, 2026 07:55
Comment thread app/components/UI/Transactions/index.js
@github-actions github-actions Bot added the risk:medium AI analysis: medium risk label Jun 19, 2026
Comment thread app/components/Views/ActivityList/ActivityList.tsx Outdated
Comment thread app/util/activity-adapters/activity-list-helpers.ts
Comment thread app/components/UI/ActivityListItemRow/ActivityListAccountImportTimeRow.tsx Outdated
Comment thread app/components/UI/ActivityListItemRow/ActivityListDateHeader.tsx
…pproval token retrieval and enhance unlimited approval detection
@PatrykLucka
PatrykLucka force-pushed the TMCU-916-update-assets-and-perps-details-activity-with-new-activity-list-items branch from abbb909 to a5f1967 Compare June 22, 2026 07:59
Comment thread app/selectors/featureFlagController/activityRedesign/index.ts Outdated
Comment thread app/components/UI/Transactions/index.js Outdated
@github-actions github-actions Bot added risk:high AI analysis: high risk and removed risk:medium AI analysis: medium risk labels Jun 22, 2026
@PatrykLucka
PatrykLucka force-pushed the TMCU-916-update-assets-and-perps-details-activity-with-new-activity-list-items branch from a5f1967 to 84da3a6 Compare June 22, 2026 08:08

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 84da3a6. Configure here.

Comment thread app/components/UI/Transactions/AssetDetailsActivityListItem.tsx
@github-actions github-actions Bot added risk:medium AI analysis: medium risk and removed risk:high AI analysis: high risk labels Jun 22, 2026
Comment thread app/components/UI/ActivityListItemRow/ActivityListAccountImportTimeRow.tsx Outdated
@wachunei

Copy link
Copy Markdown
Member

Bugbot finding

Severity Location Finding
Medium app/components/UI/Transactions/AssetDetailsActivityListItem.tsx:105-109 When the asset-details activity redesign is enabled, pending EVM rows are rendered through ActivityListItemRow with only onPress, so users lose the inline Speed Up, Cancel, and QR/Ledger signing controls that the legacy TransactionElement path still exposes on the same screen.

…se onPress prop for navigation and streamline import time handling
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeAccounts, SmokeConfirmations, SmokeNetworkAbstractions, SmokeNetworkExpansion, SmokeSwap, SmokeStake, SmokeWalletPlatform, SmokeMoney, SmokePerps, SmokeMultiChainAPI, SmokePredictions, SmokeSeedlessOnboarding, SmokeBrowser, SmokeSnaps
  • Selected Performance tags: @PerformanceAccountList, @PerformanceOnboarding, @PerformanceLogin, @PerformanceSwaps, @PerformanceLaunch, @PerformanceAssetLoading, @PerformancePredict, @PerformancePreps
  • Risk Level: high
  • AI Confidence: %
click to see 🤖 AI reasoning details

E2E Test Selection:
Fallback: AI analysis did not complete successfully. Running all tests.

Performance Test Selection:
Fallback: AI analysis did not complete successfully. Running all performance tests.

View GitHub Actions results

@github-actions github-actions Bot added risk:high AI analysis: high risk and removed risk:medium AI analysis: medium risk labels Jun 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚡ Performance Test Results

ℹ️ Performance test results are currently non-blocking and will not block this PR.

4 tests failed · 20 tests · 1 device

📱 Devices tested (1)

Android: Google Pixel 8 Pro (v14.0)

❌ Failed Tests (4)

@Accounts-team

Test Platform Device Reason Recording
Import SRP with +50 accounts, SRP 1, SRP 2, SRP 3 Android Google Pixel 8 Pro (v14.0) Test error 📹 Watch

@mm-perps-engineering-team

Test Platform Device Reason Recording
Perps add funds Android Google Pixel 8 Pro (v14.0) Quality gates exceeded 📹 Watch

@metamask-mobile-platform

Test Platform Device Reason Recording
Cold Start after importing a wallet Android Google Pixel 8 Pro (v14.0) Test error 📹 Watch

@metamask-onboarding-team

Test Platform Device Reason Recording
Account creation after fresh install Android Google Pixel 8 Pro (v14.0) Test error 📹 Watch
✅ Passed Tests (16)
Test Platform Device Duration Team Recording
Asset View, SRP 1 + SRP 2 + SRP 3 Android Google Pixel 8 Pro (v14.0) 2.00s @assets-dev-team 📹 Watch
Aggregated Balance Loading Time, SRP 1 + SRP 2 + SRP 3 Android Google Pixel 8 Pro (v14.0) 8.56s @assets-dev-team 📹 Watch
Cross-chain swap flow - ETH to SOL - 50+ accounts, SRP 1 + SRP 2 + SRP 3 Android Google Pixel 8 Pro (v14.0) 4.99s @swap-bridge-dev-team 📹 Watch
Swap flow - ETH to LINK, SRP 1 + SRP 2 + SRP 3 Android Google Pixel 8 Pro (v14.0) 3.62s @swap-bridge-dev-team 📹 Watch
Cold Start: Measure ColdStart To Login Screen Android Google Pixel 8 Pro (v14.0) 4.50s @metamask-mobile-platform 📹 Watch
Measure Warm Start: Login To Wallet Screen Android Google Pixel 8 Pro (v14.0) 1.71s @metamask-mobile-platform 📹 Watch
Measure Warm Start: Warm Start to Login Screen Android Google Pixel 8 Pro (v14.0) 1.31s @metamask-mobile-platform 📹 Watch
Predict Available Balance - Complete Flow Performance Android Google Pixel 8 Pro (v14.0) 1.29s @team-predict 📹 Watch
Predict Deposit - Complete Flow Performance Android Google Pixel 8 Pro (v14.0) 11.62s @team-predict 📹 Watch
Predict Market Details - Complete Flow Performance Android Google Pixel 8 Pro (v14.0) 3.90s @team-predict 📹 Watch
Connect to Uniswap dapp, edit accounts, choose another account, and skip Solana popup Android Google Pixel 8 Pro (v14.0) 18.92s @metamask-mobile-platform 📹 Watch
Measure Cold Start To Onboarding Screen Android Google Pixel 8 Pro (v14.0) 2.69s @metamask-mobile-platform 📹 Watch
Onboarding Import SRP with +50 accounts, SRP 3 Android Google Pixel 8 Pro (v14.0) 5.80s @metamask-onboarding-team 📹 Watch
Perps open position and close it Android Google Pixel 8 Pro (v14.0) 22.13s @mm-perps-engineering-team 📹 Watch
Seedless Onboarding: Apple Login New User Android Google Pixel 8 Pro (v14.0) 12.78s @metamask-onboarding-team 📹 Watch
Seedless Onboarding: Google Login New User Android Google Pixel 8 Pro (v14.0) 11.31s @metamask-onboarding-team 📹 Watch

Branch: TMCU-916-update-assets-and-perps-details-activity-with-new-activity-list-items · Build: Normal · Commit: c5dbb64 · View full run

@sonarqubecloud

Copy link
Copy Markdown

@PatrykLucka
PatrykLucka added this pull request to the merge queue Jun 23, 2026
Merged via the queue into main with commit 7e9e73b Jun 23, 2026
264 of 267 checks passed
@PatrykLucka
PatrykLucka deleted the TMCU-916-update-assets-and-perps-details-activity-with-new-activity-list-items branch June 23, 2026 14:42
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 23, 2026
@metamaskbotv2 metamaskbotv2 Bot added the release-8.1.0 Issue or pull request that will be included in release 8.1.0 label Jun 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-8.1.0 Issue or pull request that will be included in release 8.1.0 risk:high AI analysis: high risk size-XL team-mobile-ux Mobile UX team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants