Skip to content

chore(runway): cherry-pick fix: less than 6 items on explore predictions#31004

Merged
runway-github[bot] merged 1 commit into
release/7.80.0from
cherry-pick-7-80-0-6ba76b4
Jun 3, 2026
Merged

chore(runway): cherry-pick fix: less than 6 items on explore predictions#31004
runway-github[bot] merged 1 commit into
release/7.80.0from
cherry-pick-7-80-0-6ba76b4

Conversation

@runway-github

@runway-github runway-github Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Description

Seems like client side filtering on prediction markets was added with
these 2 PRs:

This has caused Explore sections showing less than 6 items in multiple
cases. Why? Because we fetch 6 items and there is a high chance at least
one of them gets filtered out. To overcome this, we have updated the
request to use the default of 20 items instead of 6

Changelog

CHANGELOG entry: fix less than 6 items on explore predictions cp-7.80.0

Related issues

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

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
  • See trace() for usage and
    addToken
    for an example

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

Low Risk
UI-only feed sizing and display cap in Explore predictions; no auth,
payments, or security paths.

Overview
Explore predictions carousels were showing fewer than six cards
because feeds only requested six markets while client-side filtering
dropped some results.

usePredictionsFeed, useWorldCupPredictionsFeed, and
useExploreSearch no longer pass a six-item pageSize, so
underlying predict hooks use their default (20) and return a larger pool
after filtering. PredictionsCarouselSection still shows at most
six items by passing feed.data.slice(0, 6) into the horizontal
carousel. Tests were updated to stop expecting pageSize: 20 on
explore search.

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


Co-authored-by: sahar-fehri sahar.fehri@consensys.net 6ba76b4

<!--
Please submit this PR as a draft initially.

Do not mark it as "Ready for review" until this PR meets the canonical
Definition of Ready For Review in `docs/readme/ready-for-review.md`.

In short: the template must be materially complete (not just section
titles
present), all status checks must be currently passing, and the only
expected
follow-up commits must be reviewer-driven.
-->

Seems like client side filtering on prediction markets was added with
these 2 PRs:
- #30405
- #30154

This has caused Explore sections showing less than 6 items in multiple
cases. Why? Because we fetch 6 items and there is a high chance at least
one of them gets filtered out. To overcome this, we have updated the
request to use the default of 20 items instead of 6

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: fix less than 6 items on explore predictions cp-7.80.0

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

```gherkin
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]
```

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

<!-- [screenshots/recordings] -->

<!-- [screenshots/recordings] -->

<!--
Every checklist item must be consciously assessed before marking this PR
as
"Ready for review". A checked box means you deliberately considered that
responsibility, not that you literally performed every action listed.

Unchecked boxes are ambiguous: they are not an implicit "N/A" and they
are not
a silent "skip". See `docs/readme/ready-for-review.md` for the full
checklist
semantics.
-->

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I've included tests if applicable
- [ ] I've documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I've applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

- [ ] 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](https://consensyssoftware.atlassian.net/wiki/spaces/TL1/pages/edit-v2/401401446401?draftShareId=9d77e1e1-4bdc-4be1-9ebb-ccd916988d93)
to import wallets with many accounts and tokens
- [ ] I've instrumented key operations with Sentry traces for production
performance metrics
- See [`trace()`](/app/util/trace.ts) for usage and
[`addToken`](/app/components/Views/AddAsset/components/AddCustomToken/AddCustomToken.tsx#L274)
for an example

For performance guidelines and tooling, see the [Performance
Guide](https://consensyssoftware.atlassian.net/wiki/spaces/TL1/pages/400085549067/Performance+Guide+for+Engineers).

<!--
Reviewer checklist items follow the same semantics as the author
checklist: an
unchecked box is ambiguous, a checked box means the reviewer consciously
assessed that responsibility. See `docs/readme/ready-for-review.md`.
-->

- [ ] 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.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> UI-only feed sizing and display cap in Explore predictions; no auth,
payments, or security paths.
>
> **Overview**
> Explore **predictions** carousels were showing fewer than six cards
because feeds only requested six markets while client-side filtering
dropped some results.
>
> **`usePredictionsFeed`**, **`useWorldCupPredictionsFeed`**, and
**`useExploreSearch`** no longer pass a six-item **`pageSize`**, so
underlying predict hooks use their default (20) and return a larger pool
after filtering. **`PredictionsCarouselSection`** still shows at most
six items by passing **`feed.data.slice(0, 6)`** into the horizontal
carousel. Tests were updated to stop expecting **`pageSize: 20`** on
explore search.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
36b7741. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: sahar-fehri <sahar.fehri@consensys.net>
@mm-token-exchange-service mm-token-exchange-service Bot added the team-bots Bot team (for MetaMask Bot, Runway Bot, etc.) label Jun 3, 2026
@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

⏭️ Smart E2E selection skipped - PR targets a release or stable branch (release/* or stable)

All E2E tests pre-selected.

View GitHub Actions results

@github-actions github-actions Bot added the size-S label Jun 3, 2026
@runway-github runway-github Bot merged commit 5a97968 into release/7.80.0 Jun 3, 2026
210 of 213 checks passed
@runway-github runway-github Bot deleted the cherry-pick-7-80-0-6ba76b4 branch June 3, 2026 12:24
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 3, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

size-S team-bots Bot team (for MetaMask Bot, Runway Bot, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants