Skip to content

feat: import SRP continue button and keyboard changes added#24693

Merged
ieow merged 3 commits intomainfrom
feat-import-srp-design-vhanges
Jan 23, 2026
Merged

feat: import SRP continue button and keyboard changes added#24693
ieow merged 3 commits intomainfrom
feat-import-srp-design-vhanges

Conversation

@grvgoel81
Copy link
Copy Markdown
Contributor

@grvgoel81 grvgoel81 commented Jan 16, 2026

Description

Changelog

CHANGELOG entry: Import SRP screen UX improvements

  1. Existing Behaviour: When the Import SRP screen opens, the keyboard opens automatically and focus is set on the SRPInputGrid.
    New Behaviour: When the Import SRP screen opens, the user sees the SRPInputGrid and the Continue button, and the keyboard opens only when the SRPInputGrid is tapped.

  2. Existing Behaviour: Tapping the checkmark icon on the keyboard moves focus from one cell to the next in SRPInput.
    New Behaviour: The checkmark icon is replaced with a Done button, and tapping it dismisses the keyboard.

Related issues

Fixes:

Manual testing steps

Feature: Import SRP screen UX improvements

  Scenario: Keyboard does not auto-open on screen load
    Given the user navigates to Import from Secret Recovery Phrase screen
    Then the SRP input grid and Continue button should be visible
    And the keyboard should not be visible

  Scenario: Keyboard opens only when user taps SRP input
    Given the user is on the Import SRP screen with keyboard hidden
    When the user taps on a word input field
    Then the keyboard should open

  Scenario: Done button dismisses keyboard
    Given the user is entering words with keyboard visible
    When the user taps the Done button on keyboard
    Then the keyboard should be dismissed

Screenshots/Recordings

Before

Screenshot 2026-01-16 at 12 01 27 PM

After

Screen.Recording.2026-01-16.at.4.44.15.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

Updates SRP input UX and CTA placement.

  • Adds autoFocus prop to SrpInputGrid (default true); consuming screens pass autoFocus={false}
  • Changes submit behavior: onSubmitEditing now dismisses the keyboard instead of creating/moving to a new input; removes enter-key advance logic
  • Normalizes text input props (returnKeyType="done", blurOnSubmit={false}, enablesReturnKeyAutomatically={false}) and adds submit handlers to textarea
  • Moves “Continue”/“Import” buttons to a fixed bottom container with optional inline error text; updates styles and snapshots
  • Adjusts tests to reflect keyboard dismissal, fixed footer CTA, and error rendering via getAllByText

Written by Cursor Bugbot for commit 45381fe. Configure here.

@grvgoel81 grvgoel81 self-assigned this Jan 16, 2026
@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.

Copy link
Copy Markdown

@cursor cursor bot left a comment

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.

@grvgoel81 grvgoel81 marked this pull request as ready for review January 16, 2026 09:32
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeWalletPlatform, SmokeAccounts, SmokeIdentity
  • Risk Level: medium
  • AI Confidence: 80%
click to see 🤖 AI reasoning details

The changes modify the SRP (Secret Recovery Phrase) input components used in two critical wallet flows:

  1. ImportFromSecretRecoveryPhrase - Used during initial wallet onboarding when importing an existing wallet
  2. ImportNewSecretRecoveryPhrase - Used when adding a new SRP to an existing wallet (multi-SRP feature)

Key changes include:

  • Adding autoFocus prop to SrpInputGrid component (set to false in both views)
  • Changing keyboard behavior (returnKeyType="done", dismiss keyboard on submit)
  • Moving the Continue/Import button from scrollable content to a fixed bottom container
  • Removing error check from button disabled condition

These are UI/UX changes that affect the wallet import experience. The changes don't modify core wallet logic but do affect user interaction patterns that E2E tests validate.

Selected tags rationale:

  • SmokeWalletPlatform: The import-srp.spec.ts and multisrp tests are tagged with this. These directly test the ImportNewSecretRecoveryPhrase flow.
  • SmokeAccounts: Tests like reveal-secret-recovery-phrase.spec.ts and wallet-details.spec.ts may use the onboarding flow via fixtures.
  • SmokeIdentity: The multi-srp.spec.ts in identity/account-syncing uses ImportSrpView which tests the ImportNewSecretRecoveryPhrase component.

The importWalletWithRecoveryPhrase helper in viewHelper.ts uses ImportWalletView (which wraps ImportFromSecretRecoveryPhrase) and is used across many test suites for wallet setup, making this a moderately impactful change.

View GitHub Actions results

@sonarqubecloud
Copy link
Copy Markdown

@valantia-chang
Copy link
Copy Markdown

lgtm from design side.

@ieow ieow added this pull request to the merge queue Jan 23, 2026
Merged via the queue into main with commit bb15712 Jan 23, 2026
171 of 177 checks passed
@ieow ieow deleted the feat-import-srp-design-vhanges branch January 23, 2026 13:50
@github-actions github-actions bot locked and limited conversation to collaborators Jan 23, 2026
@metamaskbot metamaskbot added the release-7.64.0 Issue or pull request that will be included in release 7.64.0 label Jan 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-onboarding release-7.64.0 Issue or pull request that will be included in release 7.64.0 size-M team-onboarding Onboarding team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants