Skip to content

Commit 06135e3

Browse files
chloeYuerunway-github[bot]andrewjcohencortisikometamaskbot
authored
chore: sync stable into release/7.79.0 (post 7.78.0 release) (#30570)
## **Description** This PR sync `stable` to `release/7.79.0` ## **Changelog** CHANGELOG entry: null ## **Screenshots/Recordings** ### **Before** N/A — sync PR. ### **After** N/A — sync PR. ## **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 - [ ] 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. #### 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 - [ ] I've instrumented key operations with Sentry traces for production performance metrics For performance guidelines and tooling, see the [Performance Guide](https://consensyssoftware.atlassian.net/wiki/spaces/TL1/pages/400085549067/Performance+Guide+for+Engineers). ## **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** > Mostly release bookkeeping (new `7.78.0` changelog section and updated compare links) plus a small logic change in Predict’s retry-toast effect. The only code risk is around order-failure toast behavior potentially being impacted by the added duplicate provider-guard check. > > **Overview** > Adds the `7.78.0` release notes to `CHANGELOG.md` and updates the `[Unreleased]`/`[7.78.0]` compare links accordingly. > > In `PredictPreviewSheetContext`, adds an extra (duplicated) guard to ensure only the active/topmost sheet-mode provider instance triggers the order-failure “Retry” toast when multiple providers are mounted, reducing the chance of duplicate toasts/timers. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 87e7e09. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Signed-off-by: dan437 <80175477+dan437@users.noreply.github.com> Co-authored-by: runway-github[bot] <73448015+runway-github[bot]@users.noreply.github.com> Co-authored-by: Andrew Cohen <imandrewcohen@gmail.com> Co-authored-by: Curtis David <Curtis.David7@gmail.com> Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com> Co-authored-by: Matthew Walsh <matthew.walsh@consensys.net> Co-authored-by: António Regadas <antonio.regadas@consensys.net> Co-authored-by: Devin Stewart <49423028+Bigshmow@users.noreply.github.com> Co-authored-by: Christian Montoya <christian.montoya@consensys.net> Co-authored-by: Luis Taniça <matallui@gmail.com> Co-authored-by: sahar-fehri <sahar.fehri@consensys.net> Co-authored-by: maxime-oe <maxime.ouairy-ext@consensys.net> Co-authored-by: João Santos <joaosantos15@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Juanmi <95381763+juanmigdr@users.noreply.github.com> Co-authored-by: Vince Howard <vincenguyenhoward@gmail.com> Co-authored-by: Pedro Pablo Aste Kompen <wachunei@gmail.com> Co-authored-by: Xiaoming Wang <7315988+dawnseeker8@users.noreply.github.com> Co-authored-by: infiniteflower <139582705+infiniteflower@users.noreply.github.com> Co-authored-by: Christopher Ferreira <104831203+christopherferreira9@users.noreply.github.com> Co-authored-by: Remi ARQUEVAUX <r.arquevaux@gmail.com> Co-authored-by: Prithpal Sooriya <prithpal.sooriya@consensys.net> Co-authored-by: metamaskbotv2[bot] <214045046+metamaskbotv2[bot]@users.noreply.github.com> Co-authored-by: Patryk Lucka <5708018+PatrykLucka@users.noreply.github.com> Co-authored-by: Caainã Jeronimo <caainaje@gmail.com> Co-authored-by: Monte Lai <monte.lai@consensys.net> Co-authored-by: gantunesr <17601467+gantunesr@users.noreply.github.com> Co-authored-by: Xiaoming Wang <dawnseeker8@users.noreply.github.com> Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com> Co-authored-by: Shane T <muldots@gmail.com> Co-authored-by: Aslau Mario-Daniel <marioaslau@gmail.com> Co-authored-by: Alejandro Garcia Anglada <aganglada@gmail.com> Co-authored-by: Nicholas Gambino <nicholas.gambino@consensys.net> Co-authored-by: Andre Pimenta <andrepimenta7@gmail.com> Co-authored-by: Ömer Göktuğ Poyraz <omergoktugpoyraz@gmail.com> Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com> Co-authored-by: Bigshmow <devin.stewart@consensys.net> Co-authored-by: Fred <frederic.heng@consensys.net> Co-authored-by: tommasini <46944231+tommasini@users.noreply.github.com> Co-authored-by: Pedro Figueiredo <ganseki.figueiredo@gmail.com> Co-authored-by: Michal Szorad <michal.szorad@consensys.net> Co-authored-by: sophieqgu <37032128+sophieqgu@users.noreply.github.com> Co-authored-by: Laurel <153323700+i18nlaurel@users.noreply.github.com> Co-authored-by: João Loureiro <175489935+joaoloureirop@users.noreply.github.com> Co-authored-by: tommasini <tommasini15@gmail.com>
2 parents 63ecf7c + 87e7e09 commit 06135e3

2 files changed

Lines changed: 62 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,53 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [7.78.0]
11+
12+
### Added
13+
14+
- Added a Braze-driven promotional banner to the wallet home screen. (#29301)
15+
- Added a Money Account onboarding flow. (#30137)
16+
- Added a postonboarding checklist on the wallet home shown when the balance is empty. (#28851)
17+
- Added an optional onboarding interest questionnaire after metrics opt-in for eligible users. (#30056)
18+
- Added a "Paid by MetaMask" treatment on the mUSD conversion confirmation screen when MetaMask fully sponsors the network, provider, and gas fees. (#30120)
19+
- Added the Money Account withdrawal flow. (#29862)
20+
- Added mUSD support on Monad. (#29897)
21+
- Added Batch Sell token selection for selling up to five same-network tokens. (#29690)
22+
- Added a sort control to a trader's Open and Closed positions on the Top Traders profile screen. (#30027)
23+
- Added a World Cup promotional banner to the Predict feed. (#30070)
24+
- Added websocket streaming integration for OHLCV data. (#29739)
25+
- Added handling for on-ramp provider return deeplinks so users land directly on their order details after completing or cancelling a purchase with an external provider. (#29858)
26+
- Added an AI disclaimer to the What's Happening section. (#30352)
27+
- Added price-change pills on related assets. (#30259)
28+
- Showed the bonus benefits menu for users with the VIP feature enabled. (#29888)
29+
- Displayed the total benefits count on the Rewards benefits preview header. (#30063)
30+
31+
### Changed
32+
33+
- Updated the primary CTA on the Money Account onboarding stepper to read "Add funds". (#29909)
34+
- Updated Predict buy previews to include market fees in totals and balance checks. (#29881)
35+
- Updated Bridge navigation to use the native stack with in-screen headers for Bridge, token selection, and quote selection. (#29829)
36+
- Updated the mUSD bonus calculator in Rewards with a fresh design. (#29758)
37+
- Updated the Rewards "theMiracle" logo to be theme-aware. (#30213)
38+
- Aligned previously base-enabled custom network logos (Stable, Flow, XDC, Fraxtal, Hemi, Plasma, Lukso, Rootstock, MSU, Lens, Plume) to a square format consistent with Popular networks. (#29943)
39+
- Aligned carousel card heights for accessibility. (#30201)
40+
- Improved the empty DeFi state navigation to point to Trending v2. (#29927)
41+
- Improved retry behavior when QR hardware wallet signing scans fail. (#29741)
42+
- Removed gas alerts from the confirmation modal in gasless flows and updated the 10 MON minimum-reserve alert copy. (#29835)
43+
44+
### Fixed
45+
46+
- Fixed a regression where gas estimate alerts had stopped showing in confirmations. (#30266)
47+
- Fixed underline positioning in the React Native Scrollable Tab View. (#30133)
48+
- Fixed a bug where failed builder fee approval was permanently cached, causing subsequent Perps orders to fail. (#30095)
49+
- Fixed a bug that could repeatedly prompt hardware wallet users while Perps was idle. (#30114)
50+
- Fixed iOS header inset for Perps order screens. (#30143)
51+
- Fixed a bug where a trader's positions could appear stale on the Top Traders profile and position screens, and added pull-to-refresh on both screens. (#30039)
52+
- Fixed limit order margin calculation to use the limit price instead of the market price, preventing "insufficient margin" errors. (#29800)
53+
- Fixed a bug that could leave the swap quote area blank during slippage refresh. (#29975)
54+
- Fixed the Account List opening too quickly. (#29859)
55+
- Fixed an issue where EIP-7702 authorization signatures with leading zero bytes in `r` or `s` could be rejected by relays and public RPCs. (#29717)
56+
1057
## [7.77.2]
1158

1259
### Fixed
@@ -11510,7 +11557,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1151011557
- [#957](https://github.com/MetaMask/metamask-mobile/pull/957): fix timeouts (#957)
1151111558
- [#954](https://github.com/MetaMask/metamask-mobile/pull/954): Bugfix: onboarding navigation (#954)
1151211559

11513-
[Unreleased]: https://github.com/MetaMask/metamask-mobile/compare/v7.77.2...HEAD
11560+
[Unreleased]: https://github.com/MetaMask/metamask-mobile/compare/v7.78.0...HEAD
11561+
[7.78.0]: https://github.com/MetaMask/metamask-mobile/compare/v7.77.2...v7.78.0
1151411562
[7.77.2]: https://github.com/MetaMask/metamask-mobile/compare/v7.77.1...v7.77.2
1151511563
[7.77.1]: https://github.com/MetaMask/metamask-mobile/compare/v7.77.0...v7.77.1
1151611564
[7.77.0]: https://github.com/MetaMask/metamask-mobile/compare/v7.76.3...v7.77.0

app/components/UI/Predict/contexts/PredictPreviewSheetContext.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,19 @@ export const PredictPreviewSheetProvider: React.FC<
391391
return;
392392
}
393393

394+
// When multiple sheet-mode providers are mounted simultaneously (e.g.
395+
// HomeTabs + PredictScreenStack while the user is inside the Predict
396+
// stack), only the topmost (most recently mounted, innermost in the
397+
// tree) provider should fire the toast — earlier-mounted providers
398+
// also hold their own `lastBuyParamsRef` and would otherwise duplicate
399+
// the toast (and the `clearOrderError` timer).
400+
if (
401+
providerIdRef.current === null ||
402+
!isActiveSheetModeProvider(providerIdRef.current)
403+
) {
404+
return;
405+
}
406+
394407
const lastParams = lastBuyParamsRef.current;
395408
// Use `closeButtonOptions` (with `ButtonVariants.Link`) rather than
396409
// `linkButtonOptions` so the Retry sits inline on the right of the row

0 commit comments

Comments
 (0)