Skip to content

fix(text-input-action): use contextual input actions other than none#3258

Merged
ca333 merged 1 commit intodevfrom
fix/search-input-action
Oct 27, 2025
Merged

fix(text-input-action): use contextual input actions other than none#3258
ca333 merged 1 commit intodevfrom
fix/search-input-action

Conversation

@takenagain
Copy link
Copy Markdown
Contributor

@takenagain takenagain commented Oct 26, 2025

TextInputAction.none is not supported on iOS and throws errors in debug mode when attempting to use the affected inputs below, preventing the keyboard from appearing.

According to the documentation,

when running in debug mode, an error will be thrown. If the same thing is done in release mode, then instead of sending the inappropriate value, Android will use "unspecified" on the platform side and iOS will use "default" on the platform side.

UI components affected

  • Unauthenticated asset list search bar
  • Wallet overview search bar
  • Add asset (activation) view search bar
  • Change your password dialog (Settings -> Security -> Change your password)

Expected behaviour

Wallet overview search bar:

  • tapping the search bar should open a keyboard, and
  • tapping Enter/Done on the keyboard should dismiss it. Note: scrolling or tapping outside the keyboard does not dismiss it.

Add asset view search bar:

  • tapping the "+" (Add Assets) button should open the Add Assets page, which should automatically open the keyboard.
  • tapping Enter/Done on the keyboard should dismiss it

Password change page:

  • upon opening the password change page, the keyboard should appear
  • tapping Enter/Done/Next should navigate to the next input field

Summary by CodeRabbit

  • Improvements
    • Enhanced keyboard behavior for password and search input fields across forms and search interfaces
    • Password fields now properly advance focus to the next field for improved form navigation
    • Search fields display the appropriate search action on the keyboard for better user experience
    • Optimized code organization for maintainability

none is not supported on iOS and throws errors in debug mode

If a developer chooses an inappropriate [TextInputAction] when running in debug mode, an error will be thrown. If the same thing is done in release mode, then instead of sending the inappropriate value, Android will use "unspecified" on the platform side and iOS will use "default" on the platform side.
@takenagain takenagain self-assigned this Oct 26, 2025
@takenagain takenagain added the bug Something isn't working label Oct 26, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Oct 26, 2025

Walkthrough

Three UI components have their keyboard input actions updated: password form now uses "next" to advance between fields, while two search components use "search" instead of "none". One file's import order is reorganized.

Changes

Cohort / File(s) Summary
Search Input Actions
lib/views/wallet/coins_manager/coins_manager_controls.dart, lib/views/wallet/wallet_page/wallet_main/wallet_manager_search_field.dart
Updated textInputAction from none to search in search input fields to provide proper keyboard action semantics
Password Form Navigation
lib/views/settings/widgets/security_settings/password_update_page.dart
Changed password field textInputAction from none to next to enable focus navigation between form fields; reordered import statement

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~5-10 minutes

  • Straightforward textInputAction enum value changes across consistent UI patterns
  • One import reordering with no functional impact
  • No complex logic or control flow modifications

Suggested reviewers

  • smk762
  • CharlVS
  • naezith

Poem

🐰 A keystroke here, a keystroke there,
From "none" to "next"—with utmost care!
The search now speaks with a proper say,
And forms dance forward, hooray, hooray! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The pull request title "fix(text-input-action): use contextual input actions other than none" directly and accurately summarizes the primary change across all three modified files. The title is clear, specific, and uses the conventional "fix" prefix appropriately to indicate a bug fix addressing the iOS TextInputAction.none compatibility issue. The title clearly conveys that the changes involve replacing TextInputAction.none with contextual alternatives (search, next) without being vague or adding unnecessary noise. The title aligns well with the changeset, which updates three UI components to use appropriate textInputActions instead of none.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/search-input-action

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@takenagain takenagain requested a review from Copilot October 26, 2025 20:51
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fixes a critical iOS compatibility issue where TextInputAction.none was preventing keyboards from appearing in debug mode. The changes replace TextInputAction.none with contextually appropriate actions (search for search fields, next for password fields) across three affected UI components.

Key Changes:

  • Replaced TextInputAction.none with TextInputAction.search in search input fields
  • Replaced TextInputAction.none with TextInputAction.next in password input fields
  • Reordered imports in password_update_page.dart to follow alphabetical convention

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
wallet_manager_search_field.dart Changed text input action from none to search for wallet search bar
coins_manager_controls.dart Changed text input action from none to search for add asset search bar
password_update_page.dart Changed text input action from none to next for password fields and reordered imports

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@takenagain takenagain marked this pull request as ready for review October 26, 2025 20:53
@github-actions
Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 7fe529b):

https://walletrc--pull-3258-merge-gqwa07f9.web.app

(expires Sun, 02 Nov 2025 20:55:39 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: f66a4ff03faa546f12f0ae5a841bd9eff2714dcc

@takenagain takenagain requested review from CharlVS and ca333 October 26, 2025 21:09
@ca333 ca333 changed the base branch from main to dev October 26, 2025 22:19
@smk762 smk762 self-requested a review October 27, 2025 05:35
@smk762 smk762 added the iOS label Oct 27, 2025
Copy link
Copy Markdown
Collaborator

@smk762 smk762 left a comment

Choose a reason for hiding this comment

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

Wallet overview search bar:

  • tapping the search bar should open a keyboard, and
  • tapping Enter/Done on the keyboard should dismiss it. Note: scrolling or tapping outside the keyboard does not dismiss it.

Add asset view search bar:

  • tapping the "+" (Add Assets) button should open the Add Assets page, which should automatically open the keyboard.
  • tapping Enter/Done on the keyboard should dismiss it

Password change page:

  • upon opening the password change page, the keyboard should appear
  • tapping Enter/Done/Next should navigate to the next input field

Functions as expected.

Note: A currently unmerged PR #3225 includes Dismiss keyboard on scroll for the Fiat onramp and Swap pages (44ca2fa)

Though this is opposing behavior, the affected pages are mutually exclusive, so this should be fine, but worth retesting once merged.

@ca333 ca333 merged commit fab27b4 into dev Oct 27, 2025
7 of 13 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Oct 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working iOS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants