Skip to content

feat: show legacy ios login warning prompt cp-7.71.0#27875

Merged
himanshuchawla009 merged 5 commits into
mainfrom
cw/legacy-ios-login-prompt
Mar 25, 2026
Merged

feat: show legacy ios login warning prompt cp-7.71.0#27875
himanshuchawla009 merged 5 commits into
mainfrom
cw/legacy-ios-login-prompt

Conversation

@ieow

@ieow ieow commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

Description

Add warning prompt for ios <17.4 for google login

Supports the fix for: https://github.com/MetaMask/MetaMask-planning/issues/7148
Part 1/ 4 - #27741
Part 2/ 4 - #27848
Part 3/ 4 - #27850 (deferred to 7.72.0)
Part 4/ 4 - #27875

Changelog

CHANGELOG entry: Add warning prompt for ios <17.4 for google login

Related issues

Fixes:

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

For < iOS 17.4

Screen.Recording.2026-03-25.at.8.59.12.PM.mov

For >= iOS 17.4

Screen.Recording.2026-03-25.at.6.11.41.PM.mov

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

Medium Risk
Modifies the onboarding social login path by inserting a conditional pre-login warning and new navigation helper, which could affect Google login flow timing/navigation on iOS devices. Changes are localized but touch user authentication entrypoints and analytics tracking.

Overview
Adds an iOS < 17.4 warning gate before starting Google OAuth during onboarding (both create and import flows), showing a non-interactable SuccessErrorSheet that must be acknowledged before proceeding.

Introduces Device.comparePlatformVersionTo() (using compare-versions) and a reusable navigateToSuccessErrorSheetPromise() helper to await sheet dismissal, plus a new MetaMetrics event (WALLET_GOOGLE_IOS_WARNING_VIEWED) and localized warning copy.

Updates onboarding tests to mock the new device helper/navigation and to assert the warning sheet + tracking fire before continuing with Google login.

Written by Cursor Bugbot for commit 3b43b83. This will update automatically on new commits. 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.

Comment thread app/components/Views/Onboarding/index.test.tsx
Comment thread app/components/Views/Onboarding/index.test.tsx Outdated
@ieow ieow changed the title Cw/legacy-ios-login-prompt feat: show legacy ios login warning prompt Mar 25, 2026
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.88889% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.53%. Comparing base (c56e9d0) to head (17dc3b4).
⚠️ Report is 53 commits behind head on main.

Files with missing lines Patch % Lines
.../core/OAuthService/OAuthLoginHandlers/constants.ts 76.47% 2 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #27875      +/-   ##
==========================================
+ Coverage   82.46%   82.53%   +0.07%     
==========================================
  Files        4801     4829      +28     
  Lines      123807   123911     +104     
  Branches    27602    27597       -5     
==========================================
+ Hits       102101   102275     +174     
+ Misses      14634    14576      -58     
+ Partials     7072     7060      -12     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ieow ieow force-pushed the cw/legacy-ios-login-prompt branch from 17dc3b4 to 5d35f44 Compare March 25, 2026 08:41
@github-actions github-actions Bot added size-M and removed size-L labels Mar 25, 2026
@ieow ieow marked this pull request as ready for review March 25, 2026 10:15
@ieow ieow requested a review from a team as a code owner March 25, 2026 10:15
Comment thread app/components/Views/Onboarding/index.tsx Outdated
@github-actions github-actions Bot added the risk-medium Moderate testing recommended · Possible bug introduction risk label Mar 25, 2026
@github-actions github-actions Bot added risk-medium Moderate testing recommended · Possible bug introduction risk and removed risk-medium Moderate testing recommended · Possible bug introduction risk labels Mar 25, 2026
@github-actions github-actions Bot added risk-medium Moderate testing recommended · Possible bug introduction risk and removed risk-medium Moderate testing recommended · Possible bug introduction risk labels Mar 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeWalletPlatform, SmokeAccounts, SmokeIdentity
  • Selected Performance tags: None (no tests recommended)
  • Risk Level: medium
  • AI Confidence: 85%
click to see 🤖 AI reasoning details

E2E Test Selection:
The changes are focused on the Onboarding flow with a new iOS version guard for Google Sign-In:

  1. Onboarding/index.tsx: Added a conditional warning sheet for iOS < 17.4 users attempting Google OAuth login. This modifies the onboarding action flow by inserting an async modal before proceeding with login. The core onboarding paths (wallet creation, SRP import) are touched.

  2. MetaMetrics.events.ts: New analytics event WALLET_GOOGLE_IOS_WARNING_VIEWED - additive, low risk.

  3. SuccessErrorSheet/utils.ts: New navigation utility for the SuccessErrorSheet modal - used in the onboarding flow.

  4. device/index.js: New comparePlatformVersionTo() utility method - used in the onboarding guard.

  5. locales/en.json: New strings for the iOS warning sheet.

Tag selection rationale:

  • SmokeWalletPlatform: Directly covers wallet lifecycle analytics (new wallet creation, SRP import events) and the onboarding flow. The new analytics event and onboarding changes are tested here.
  • SmokeAccounts: Tests wallet creation flows (new HD wallet, SRP import) that go through the Onboarding screen. The modified onboarding action handler affects these flows.
  • SmokeIdentity: The Google Sign-In / seedless onboarding (OAuth) path is related to identity sync features. The iOS version guard is specifically in the Google OAuth login path, which is part of the seedless/identity onboarding system.

No other tags are needed as the changes don't affect confirmations, trading, network management, snaps, or other feature areas.

Performance Test Selection:
No performance-sensitive changes. The modifications are a conditional UI guard in the onboarding flow (only triggered for iOS < 17.4 Google Sign-In), a new utility method, and additive analytics events. None of these affect rendering performance, data loading, list rendering, app startup, or other performance-critical paths.

View GitHub Actions results

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

Comment thread app/components/Views/SuccessErrorSheet/utils.ts
@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

@sonarqubecloud

Copy link
Copy Markdown

@ieow ieow changed the title feat: show legacy ios login warning prompt feat: show legacy ios login warning prompt cp-7.71.0 Mar 25, 2026
@himanshuchawla009 himanshuchawla009 added this pull request to the merge queue Mar 25, 2026
Merged via the queue into main with commit 002d91a Mar 25, 2026
169 of 171 checks passed
@himanshuchawla009 himanshuchawla009 deleted the cw/legacy-ios-login-prompt branch March 25, 2026 19:10
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 25, 2026
@metamaskbot metamaskbot added the release-7.72.0 Issue or pull request that will be included in release 7.72.0 label Mar 25, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.72.0 Issue or pull request that will be included in release 7.72.0 risk-medium Moderate testing recommended · Possible bug introduction risk size-M team-onboarding Onboarding team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants