Skip to content

Create wallet: move standard wallet creation off the QML thread with progress state #74

Description

@johnny9

Code Gap

External-signer creation, wallet import, wallet load, and wallet migration run through the wallet controller worker path. Standard single-sig wallet creation currently calls walletLoader().createWallet() synchronously from WalletQmlController::createSingleSigWallet().

This can block the QML/UI thread during wallet creation and does not provide the same progress/busy behavior used by the other wallet lifecycle flows.

Work Needed

  • Move standard and encrypted wallet creation onto the wallet controller worker thread.
  • Add a busy/progress state to the create password page for both Skip and Continue paths.
  • Disable duplicate submissions while creation is in progress.
  • Preserve warning and error reporting from wallet creation.
  • Ensure the created wallet becomes selected after async completion.
  • Add coverage for unencrypted creation, encrypted creation, creation failure, warning reporting, and duplicate-click prevention.

Priority

Preview / P1 primary hardening.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestv1.0Required or tracked for v1.0 releasewallet

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions