feat(wallet): allow underscores and rename invalid#2889
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the 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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
03b2ca0
into
codex/add-wallet-name-validation
* feat(wallet): restrict wallet name characters * feat(wallet): allow hyphens in names (#2889) * fix(merge): misc merge fixes * fix(wallet-file-import): remove legacy wallet name validation early return skipped the new wallet renaming dialog, preventing it from appearing * feat(wallets): add unicode alphanumeric wallet name support KDF is_alphanumeric check supports unicode text characters alongside ASCII. Emoji's and other special characters should still trigger the validation errors * refactor(wallet-rename): replace deprecated dispatcher with appdialog * fix(screenshot-sensitivity): notify listeners in postFrameCallback fixes "setState() or markNeedsBuild() called when widget tree was locked. This ScreenshotSensitivity widget cannot be marked as needing to build because the framework is locked." and "DartError: setState() or markNeedsBuild() called during build. This ScreenshotSensitivity widget cannot be marked as needing to build because the framework is already in the process of building widgets. A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase." * fix(wallet-import): defer wallet file name validation to click handler * Refactor wallet name validation and renaming logic Co-authored-by: charl <charl@vanstaden.info> * fix(ci): unblock Android release build by including integration_test plugin and add cupertino_icons to satisfy font requirements * chore: update SDK submodule to latest dev commit * refactor(wallets-manager): fetch wallet names on demand; remove pre-cache warm-ups - Remove cache warm-ups in wallet import and rename dialog - Keep validation using fresh repository fetches - Reverted unintended global formatting; formatted only edited files - No Bloc introduced (repo methods suffice) * refactor(wallets-manager): remove no-op initState overrides in import widgets * chore(sdk): update submodule to latest dev * refactor: fix minor context warning TODO: More fixes of the same warning type (stale context) * fix(wallets): avoid mutating Wallet instances during login and export\n\n- Replace wallet.name assignment with copyWith + setState in iguana manager\n- Use wallet.copy() to avoid shared references during login flow\n- Avoid widget.wallet.config.type mutation; pass copied wallet to onLogin\n- Avoid mutating wallet.config.seedPhrase in downloadEncryptedWallet; use working copy\n\nKeeps immutability and consistent state updates in BLoC flows. * fix: check both validation and uniqueness before prompting for wallet rename - Combine validation and uniqueness checks before showing rename dialog - Remove duplicate uniqueness check after validation - Improves flow by avoiding unnecessary prompts when both checks fail --------- Co-authored-by: Francois <takenagain@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Summary
Testing
flutter analyzehttps://chatgpt.com/codex/tasks/task_e_686d69df32b08326b0f668ea0774cac8