Keep the Import Wallet Next button clear of the keyboard - #6161
Open
j0ntz wants to merge 2 commits into
Open
Conversation
Convert the component to the React.FC form the lint rule expects.
Contributor
Author
j0ntz
force-pushed
the
jon/import-wallet-keyboard
branch
from
August 17, 2026 21:39
003c75c to
7e779e8
Compare
j0ntz
marked this pull request as ready for review
August 17, 2026 21:39
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7e779e8. Configure here.
The scene rendered its content, including the Next button, inside a scroll view that did not react to the keyboard, so opening the keyboard to type a seed hid the button behind it. Shrink the scene to the space above the keyboard, keep the button pinned below the scrolling content, and let the key logo flex instead of holding a fixed 2 rem of margin. Drop the keyboard-dismiss steps the maestro import flows needed to reach the button.
j0ntz
force-pushed
the
jon/import-wallet-keyboard
branch
from
August 17, 2026 21:51
8f92bd2 to
f5b6a1f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.






Technical Design Document
ramps-deeplink-provider-priority.md
Description
Asana task
The Import Wallet scene rendered everything, including the Next button, inside a
scroll view that did not react to the keyboard. Opening the keyboard to type a
seed hid the button behind it, along with the per-asset Import Options inputs
(the Zcash / Pirate Chain birthday height). A wrapped 12- or 24-word phrase or a
short device made it worse.
The scene now shrinks to the space above the keyboard (
SceneWrapper avoidKeyboard, the pattern ~20 other scenes already use, backed byreact-native-keyboard-controller), its content lives in a realScrollView,and the Next button sits outside that scroll view so the keyboard can never
cover it. The key logo's fixed 2 rem margins drop to 1 rem, and the container
gets
flex: 1so the content actually scrolls.The maestro import flows carried a workaround for this bug: they dismissed the
keyboard before tapping Next. Both copies are removed
(
maestro/common/import-wallets.yaml,maestro/07-wallets/C000029a-migrate-wallets.yaml).One deviation from the task text: the task asked for the logo spacing to flex
and grow when there is room. Implementing that with
flexGrowon the scrollcontent made the multiline seed input compete for the same free space, which
squeezed the seed box down on short screens, so the spacing is a fixed 1 rem
minimum instead.
Known trade-off: on a very short device (iPhone 13 mini) with the keyboard up,
the seed field now shows fewer lines at a time, because the field sizes to the
keyboard-reduced scene rather than extending underneath the keyboard.
Asana: https://app.asana.com/1/9976422036640/project/1213880789473005/task/1217525813318788
CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
none
Requirements
If you have made any visual changes to the GUI. Make sure you have:
iOS: driven on an iPhone 16 Pro Max simulator and an iPhone 13 mini simulator,
with a real 24-word BIP39 phrase and both a plain BTC import and a BTC + ZEC
import (which adds the Import Options input). Before/after screenshots of both
devices are attached below, plus the import driven through to the Create Wallets
completion scene.
Android:
:app:assembleDebugbuilds clean. The change is shared JS and themanifest already uses
adjustResize, but the flow was not driven on an Androidemulator or device in this pass.
Note
Low Risk
Localized Import Wallet UI and E2E flow changes using an existing keyboard-avoidance pattern; no auth, payments, or shared business logic.
Overview
Fixes the Import Wallet scene so the keyboard no longer covers Next or the per-asset import options when entering a seed.
The scene now uses
SceneWrapperwithavoidKeyboard(same pattern as many other scenes) instead ofKeyboardAwareScrollView. Form content scrolls in aScrollView;SceneButtonssit outside that scroll view so they stay in the visible area above the keyboard. Layout tweaks includeflex: 1on the container and scroll area,flexShrink: 0on the button row, and reduced vertical margin on the key icon (1 rem instead of 2 rem).Maestro import flows no longer
hideKeyboardor tap the field to dismiss the keyboard before Next—the button is tappable with the keyboard open.Reviewed by Cursor Bugbot for commit f5b6a1f. Bugbot is set up for automated code reviews on this repo. Configure here.