Skip to content

chore(runway): cherry-pick fix: hides perps buttons in ai insights when user has a position cp-7.71.0#27924

Merged
chloeYue merged 1 commit into
release/7.71.0from
runway-cherry-pick-7.71.0-1774455631
Mar 26, 2026
Merged

chore(runway): cherry-pick fix: hides perps buttons in ai insights when user has a position cp-7.71.0#27924
chloeYue merged 1 commit into
release/7.71.0from
runway-cherry-pick-7.71.0-1774455631

Conversation

@runway-github
Copy link
Copy Markdown
Contributor

@runway-github runway-github Bot commented Mar 25, 2026

Description

This PR is a bug fix for
#27916 where:

  • In the AI Market Insights in Perps, the action buttons are wrong when
    user has an open position: the action buttons should be the same in AI
    market insight page and market page, ie. “modify” and “Close” when user
    has an open position

Fix:

  • When the user has an existing perps position, the MarketInsights
    footer action buttons (Long/Short) are hidden since the relevant actions
    (modify/close) live on the Perps market details page
  • The "AI summary for information only" disclaimer is moved inline below
    the feedback section when the footer is hidden, so it remains visible
  • Position state is passed via route params (hasPerpsPosition) from the
    caller rather than fetched async inside MarketInsightsView, preventing a
    flash where buttons briefly appear then disappear while the position
    loads

Changelog

CHANGELOG entry: Fixed a bug that was causing incorrect Perps action
buttons to be displayed

Related issues

Fixes: #27916

Manual testing steps

- Open MarketInsights from token details → Swap/Buy buttons visible with disclaimer in footer
- Open MarketInsights from perps with no position → Long/Short buttons visible with disclaimer in footer
- Open MarketInsights from perps with an existing position → no footer buttons, disclaimer shown below "Was this helpful?"
- Verify no flash/layout shift on the perps + position flow

Screenshots/Recordings

Before

ScreenRecording_03-25-2026.13-32-38_1.MP4

After

SCR-20260325-nzfa

Pre-merge author checklist

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
Low risk UI/navigation tweak that changes which CTAs are shown based
on a new route param; main risk is incorrect param wiring causing
missing actions or disclaimer placement in the Perps insights flow.

Overview
Fixes Perps AI Market Insights showing inappropriate Long/Short
CTAs when the user already has an open position.

Adds a hasPerpsPosition route param (set by
PerpsMarketDetailsView) and uses it in MarketInsightsView to hide
the footer action buttons
for Perps-with-position while keeping the
informational disclaimer visible
by moving it inline under the
feedback section for that case.

Written by Cursor
Bugbot
for commit
833593b. This will update automatically
on new commits. Configure
here.

[8a7bced](https://github.com/MetaMask/metamask-mobile/commit/8a7bcedd42c36ea7ec7d54782e509d154b549d41)

…en user has a position cp-7.71.0 (#27919)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

This PR is a bug fix for
#27916 where:
- In the AI Market Insights in Perps, the action buttons are wrong when
user has an open position: the action buttons should be the same in AI
market insight page and market page, ie. “modify” and “Close” when user
has an open position

Fix:
- When the user has an existing perps position, the MarketInsights
footer action buttons (Long/Short) are hidden since the relevant actions
(modify/close) live on the Perps market details page
- The "AI summary for information only" disclaimer is moved inline below
the feedback section when the footer is hidden, so it remains visible
- Position state is passed via route params (hasPerpsPosition) from the
caller rather than fetched async inside MarketInsightsView, preventing a
flash where buttons briefly appear then disappear while the position
loads

<!--
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?
-->

## **Changelog**

<!--
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: Fixed a bug that was causing incorrect Perps action
buttons to be displayed

## **Related issues**

Fixes: #27916

## **Manual testing steps**

```gherkin
- Open MarketInsights from token details → Swap/Buy buttons visible with disclaimer in footer
- Open MarketInsights from perps with no position → Long/Short buttons visible with disclaimer in footer
- Open MarketInsights from perps with an existing position → no footer buttons, disclaimer shown below "Was this helpful?"
- Verify no flash/layout shift on the perps + position flow
```

## **Screenshots/Recordings**

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

### **Before**

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


https://github.com/user-attachments/assets/0373c1bb-d433-4c9a-8768-117a40d98f9e



### **After**

<!-- [screenshots/recordings] -->
<img width="3699" height="3090" alt="SCR-20260325-nzfa"
src="https://github.com/user-attachments/assets/4b058c59-6df0-4d16-acf7-8d6bb839183f"
/>


## **Pre-merge author checklist**

- [x] 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).
- [x] I've completed the PR template to the best of my ability
- [x] I've included tests if applicable
- [x] I've documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] 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.

## **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.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk UI/navigation tweak that changes which CTAs are shown based
on a new route param; main risk is incorrect param wiring causing
missing actions or disclaimer placement in the Perps insights flow.
> 
> **Overview**
> Fixes Perps AI Market Insights showing inappropriate `Long`/`Short`
CTAs when the user already has an open position.
> 
> Adds a `hasPerpsPosition` route param (set by
`PerpsMarketDetailsView`) and uses it in `MarketInsightsView` to **hide
the footer action buttons** for Perps-with-position while **keeping the
informational disclaimer visible** by moving it inline under the
feedback section for that case.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
833593b. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@runway-github runway-github Bot requested a review from a team as a code owner March 25, 2026 16:20
Copy link
Copy Markdown
Contributor

@chloeYue chloeYue left a comment

Choose a reason for hiding this comment

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

LGTM

@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.

@chloeYue chloeYue added the skip-smart-e2e-selection Skip Smart E2E selection, i.e. select all E2E tests to run label Mar 26, 2026
@metamaskbot metamaskbot added the team-bots Bot team (for MetaMask Bot, Runway Bot, etc.) label Mar 26, 2026
@github-actions github-actions Bot added risk-high Extensive testing required · High bug introduction risk and removed risk-high Extensive testing required · High bug introduction risk labels Mar 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

⏭️ Smart E2E selection skipped - skip-smart-e2e-selection label found

All E2E tests pre-selected.

View GitHub Actions results

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown
Contributor

E2E Fixture Validation — Schema is up to date
16 value mismatches detected (expected — fixture represents an existing user).
View details

@chloeYue chloeYue merged commit 32d70a8 into release/7.71.0 Mar 26, 2026
199 of 241 checks passed
@chloeYue chloeYue deleted the runway-cherry-pick-7.71.0-1774455631 branch March 26, 2026 11:16
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

risk-high Extensive testing required · High bug introduction risk size-M skip-smart-e2e-selection Skip Smart E2E selection, i.e. select all E2E tests to run team-bots Bot team (for MetaMask Bot, Runway Bot, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants