Skip to content

chore: explore v2 nit fixes#29720

Merged
juanmigdr merged 7 commits into
mainfrom
chore/explore-v2-nits
May 5, 2026
Merged

chore: explore v2 nit fixes#29720
juanmigdr merged 7 commits into
mainfrom
chore/explore-v2-nits

Conversation

@juanmigdr

@juanmigdr juanmigdr commented May 5, 2026

Copy link
Copy Markdown
Member

Description

🔗 Browser URL Display Improvements

  • Enhanced URL display for user favorites and recents: Updated browser favorites and recents to show more informative display URLs that include the full path and query parameters (e.g., app.uniswap.org/swap?chain=1 instead of just uniswap.org)
  • Maintained clean URLs for curated content: Kept hostname-only display for curated site cards to preserve clean domain labels
  • Added comprehensive test coverage: Included new unit tests to verify the full path display functionality works correctly for both favorites and recents

🏈 Sports Section UI/UX Enhancements

  • Renamed "Soccer" to "Football": Updated the label key from trending.soccer to trending.football for more universal terminology
  • Improved Sports Tab list rendering: Changed from PredictionCarouselRowItem to PredictMarket component for better visual consistency in the active sports markets list

⚡ Performance Optimizations

  • Refactored Sports Tab architecture: Converted from nested scroll structure to a single FlashList with header and footer components for better performance
  • Added pull-to-refresh functionality: Implemented RefreshControl for improved user interaction in the Sports Tab
  • Streamlined layout structure: Eliminated nested scrolling components that could cause performance issues

🎯 Filter Propagation Enhancement

  • Enhanced perps navigation filtering: Added ability to track selected pill state in PillToggleCardList component and propagate the active filter when navigating from Macro/RWA tabs to the perps market list
  • Improved user experience: Users now maintain their filter selection context when drilling down from trending sections to detailed market views
  • Added callback support: Extended PillToggleCardList with onPillChange callback to enable parent components to track active selections

🧪 Testing & Code Quality

  • Added new utility functions: Introduced extractFullDisplayUrl function with proper documentation and test coverage
  • Enhanced test suites: Updated and expanded test coverage for browser sites functionality
  • Maintained backward compatibility: All changes preserve existing functionality while adding new features

Changelog

CHANGELOG entry: solved nit issues in explore v2

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-3145

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

Before

After

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 due to a non-trivial refactor of the Sports tab to a single FlashList with new refresh/load-more wiring, plus changes that affect perps navigation filtering behavior. URL display changes are low risk but touch shared site/query matching utilities.

Overview
Improves Explore URL labeling by introducing extractFullDisplayUrl and switching browser favorites and recents to display host+path+query (while keeping curated site cards on hostname-only extractDisplayUrl), with updated/added unit tests.

Enhances Trending Explore UX by refactoring SportsTab into a single FlashList with header/footer, pull-to-refresh, and using PredictMarket rows for the “All Sports” list; also renames the soccer label key to trending.football.

Adds an onPillChange callback to PillToggleCardList and updates MacroTab/RwasTab to pass the active pill as a filter when navigating to the perps market list.

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

@juanmigdr

Copy link
Copy Markdown
Member Author

@cursor look at all my commits in this PR and create a nice bulletpointed summary of the changes this PR fixes

@cursor

cursor Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

Now I have all the information needed to create a comprehensive summary. Based on the commits and changes I've analyzed, here's the bulletpointed summary of what this PR fixes:

Summary of Changes in PR: Chore/explore v2 nits

🔗 Browser URL Display Improvements

  • Enhanced URL display for user favorites and recents: Updated browser favorites and recents to show more informative display URLs that include the full path and query parameters (e.g., app.uniswap.org/swap?chain=1 instead of just uniswap.org)
  • Maintained clean URLs for curated content: Kept hostname-only display for curated site cards to preserve clean domain labels
  • Added comprehensive test coverage: Included new unit tests to verify the full path display functionality works correctly for both favorites and recents

🏈 Sports Section UI/UX Enhancements

  • Renamed "Soccer" to "Football": Updated the label key from trending.soccer to trending.football for more universal terminology
  • Improved Sports Tab list rendering: Changed from PredictionCarouselRowItem to PredictMarket component for better visual consistency in the active sports markets list

⚡ Performance Optimizations

  • Refactored Sports Tab architecture: Converted from nested scroll structure to a single FlashList with header and footer components for better performance
  • Added pull-to-refresh functionality: Implemented RefreshControl for improved user interaction in the Sports Tab
  • Streamlined layout structure: Eliminated nested scrolling components that could cause performance issues

🎯 Filter Propagation Enhancement

  • Enhanced perps navigation filtering: Added ability to track selected pill state in PillToggleCardList component and propagate the active filter when navigating from Macro/RWA tabs to the perps market list
  • Improved user experience: Users now maintain their filter selection context when drilling down from trending sections to detailed market views
  • Added callback support: Extended PillToggleCardList with onPillChange callback to enable parent components to track active selections

🧪 Testing & Code Quality

  • Added new utility functions: Introduced extractFullDisplayUrl function with proper documentation and test coverage
  • Enhanced test suites: Updated and expanded test coverage for browser sites functionality
  • Maintained backward compatibility: All changes preserve existing functionality while adding new features

These changes collectively improve the user experience in the Explore/Trending sections by providing more informative URL displays, better performance, and enhanced navigation filtering capabilities.

Open in Web Open in Cursor 

@github-actions github-actions Bot added the size-M label May 5, 2026

@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 238b272. Configure here.

Comment thread app/components/Views/TrendingView/tabs/SportsTab.tsx Outdated
@juanmigdr juanmigdr added the skip-sonar-cloud Only used for bypassing sonar cloud when failures are not relevant to the changes. label May 5, 2026
@juanmigdr juanmigdr changed the title Chore/explore v2 nits chore: explore v2 nit fixes May 5, 2026
@juanmigdr juanmigdr enabled auto-merge May 5, 2026 10:48
@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeBrowser, SmokePredictions, SmokePerps, SmokeWalletPlatform, SmokeConfirmations
  • Selected Performance tags: @PerformancePredict
  • Risk Level: medium
  • AI Confidence: 85%
click to see 🤖 AI reasoning details

E2E Test Selection:

Browser Sites Changes (useBrowserFavoritesSites, useBrowserRecentsSites, useSitesData):

  • Added extractFullDisplayUrl function and switched favorites/recents displayUrl to show full URL path (e.g., uniswap.org/swap?chain=1 instead of just uniswap.org).
  • This directly affects how URLs are displayed in the browser's favorites and recents sections → SmokeBrowser is required.

TrendingView - Perps (MacroTab, RwasTab, PillToggleCardList):

  • PillToggleCardList gained an onPillChange callback prop.
  • MacroTab and RwasTab now track the active pill key via useRef and pass it as a filter to navigateToPerpsMarketList when "View All" is tapped.
  • This changes navigation behavior in the Perps section of Trending → SmokePerps required.
  • Per SmokePerps description: also select SmokeWalletPlatform (Trending section) and SmokeConfirmations (Add Funds are on-chain transactions).

TrendingView - Predictions (SportsTab, useSportsMarketsFeed):

  • useSportsMarketsFeed: label key renamed from trending.soccer to trending.football — minor i18n change.
  • SportsTab: Major structural refactor — replaced ExploreScroll wrapper with FlashList as the root scrollable component, using ListHeaderComponent/ListFooterComponent pattern. Switched active market item renderer from PredictionCarouselRowItem to PredictMarket. Added RefreshControl. Changed theme hook from useAppThemeFromContext to useTheme.
  • This is a significant rendering architecture change in the Sports predictions tab → SmokePredictions required.
  • Per SmokePredictions description: also select SmokeWalletPlatform (Trending section) and SmokeConfirmations (on-chain transactions).

Dependent tags (per tag descriptions):

  • SmokePerps → SmokeWalletPlatform + SmokeConfirmations
  • SmokePredictions → SmokeWalletPlatform + SmokeConfirmations
  • SmokeBrowser → standalone

No changes to core controllers, Engine, navigation infrastructure, or account/network management — so SmokeAccounts, SmokeIdentity, SmokeNetworkAbstractions, SmokeNetworkExpansion, SmokeSwap, SmokeStake, SmokeMoney, SmokeMultiChainAPI, SmokeSnaps, SmokeSeedlessOnboarding are not needed.

Performance Test Selection:
The SportsTab underwent a significant rendering architecture change: the root component was switched from ExploreScroll (a ScrollView wrapper) to FlashList as the primary scrollable container, with ListHeaderComponent/ListFooterComponent pattern. This is a meaningful change to how the Sports predictions list renders and scrolls, which could impact rendering performance. The @PerformancePredict tag covers prediction market list loading and display, making it relevant to validate that this refactor does not introduce performance regressions.

View GitHub Actions results

@sonarqubecloud

sonarqubecloud Bot commented May 5, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
22.6% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@juanmigdr juanmigdr added this pull request to the merge queue May 5, 2026
Merged via the queue into main with commit 7ec36f0 May 5, 2026
103 of 104 checks passed
@juanmigdr juanmigdr deleted the chore/explore-v2-nits branch May 5, 2026 12:14
@github-actions github-actions Bot locked and limited conversation to collaborators May 5, 2026
@metamaskbotv2 metamaskbotv2 Bot added the release-7.77.0 Issue or pull request that will be included in release 7.77.0 label May 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.77.0 Issue or pull request that will be included in release 7.77.0 size-M skip-sonar-cloud Only used for bypassing sonar cloud when failures are not relevant to the changes. team-assets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants