Skip to content

fix(qml): add per-word validation feedback in SeedTextArea#10759

Draft
c03rad0r wants to merge 2 commits into
spesmilo:masterfrom
c03rad0r:seed-per-word-validation-qml
Draft

fix(qml): add per-word validation feedback in SeedTextArea#10759
c03rad0r wants to merge 2 commits into
spesmilo:masterfrom
c03rad0r:seed-per-word-validation-qml

Conversation

@c03rad0r

Copy link
Copy Markdown

Summary

Addresses #10758.

On the mobile (QML/Android) GUI, seed confirmation previously only suggested completions for the current word fragment but provided no feedback when a completed word was not in the BIP39 word list.

This PR adds lightweight per-word validation:

  • A new isWordValid() method on QEBitcoin checks a word against the BIP39 + old-mnemonic wordlist
  • SeedTextArea.qml validates all completed words (all but the last) on every text change
  • A red warning label below the suggestions row shows which word number(s) are invalid
  • Input is not blocked — the user can continue typing and correct words later

Files changed

  • electrum/gui/qml/qebitcoin.py — added isWordValid() slot
  • electrum/gui/qml/components/controls/SeedTextArea.qml — added _invalidWordIndices property, validation in onTextChanged, and a warning Label

Testing

The change is UI-only and requires the QML GUI to test visually. The logic is straightforward: split text by spaces, check all but the last word against the wordlist.

c03rad0r added 2 commits July 17, 2026 14:24
Flag individual words not in the BIP39/Electrum wordlist during seed
entry on mobile (QML). Shows a red warning label indicating which
word(s) are invalid, without blocking input.

Changes:
- Add isWordInWordlist() slot to QEBitcoin for word validation
- Add validateWords property and per-word check to SeedTextArea.qml
- Enable validateWords in WCConfirmSeed (retype seed) and WCHaveSeed
  (restore from seed) wizard pages

Closes spesmilo#10758
ban_unicode.py CI check bans non-whitelisted unicode characters.
@c03rad0r
c03rad0r force-pushed the seed-per-word-validation-qml branch from 2123f6d to d3ab085 Compare July 17, 2026 09:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant