feat: make mnemonic loading format-first - #922
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #922 +/- ##
===========================================
+ Coverage 97.42% 97.47% +0.05%
===========================================
Files 83 84 +1
Lines 10880 10952 +72
===========================================
+ Hits 10600 10676 +76
+ Misses 280 276 -4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
cACK. A doubt: the translation stress occured only in pt-BR and es-MX? |
792ce93 to
a34aa49
Compare
I checked all 11 translations on M5StickV. Wrapping occurs in es-MX, ko-KR, pt-BR, and tr-TR. es-MX wraps From Storage, Binary Grid, and Word Numbers; ko-KR wraps From Storage; pt-BR and tr-TR wrap Word Numbers. They all fit cleanly with Back still visible. TZT and Amigo don't wrap. Thanks for pointing it, I updated the PR body now. I also missed that Other Formats was still hard-coded in English, so I fixed that and refreshed the M5StickV captures. |
qlrd
left a comment
There was a problem hiding this comment.
First round docs nits (no blockable):
Thank you, fixed the weird wrapping and punctuation nits in docs. |
qlrd
left a comment
There was a problem hiding this comment.
overall LGTM. Tested with:
gh pr checkout 922
git submodule update --recursive
uv sync --frozen --reinstall-package=uUR
uv run poe pre-commit
./krux build-release
./build/ktool-linux -B {goE,dan}-b 1500000 ./krux-v28.06.0/maixpy_{amigo,wonder_mv}/kboot.kfpkgso i would give a tACK 993acc6 with some minor nits (non-blockable, maybe worth of discussion)
aac0b89 to
0940677
Compare
|
tACK - tested on TZT I like the rearrangement. Would only change 2 things:
|
Thanks for testing. Agreed, Binary Grid (manual/scan) makes more sense to me here and also keeps the name generic. I’ve pushed the new labels:
The translations, tests, docs and screenshots are updated too. |
What is this PR for?
Load Mnemoniccurrently asks users to choose between camera, manual input, and storage before choosing the backup they recognise. This PR proposes a format-first start instead:Other Formatsis one flat menu containing Tinyseed, Tinyseed (Bits), OneKey KeyTag, Binary Grid, Word Numbers, Stackbit 1248, and Back.The intent is to remove one translation step from the common recovery paths without changing any decoder, validation, storage, keypad, or cryptographic behaviour. The same shared loader is used by Login and Mnemonic XOR.
Design reference: Direction 3: format-first mnemonic recovery
The common routes become shorter, while specialist formats move one level deeper:
The action count starts on the initially focused row and includes every navigation and Enter action.
Changes made to:
Did you build the code and tested on device?
Simulator acceptance completed on TZT, M5StickV, and Amigo. All 11 translation files were checked against M5StickV’s 135-pixel wrapping behaviour. Simulator captures cover every wrapping locale: es-MX, ko-KR, pt-BR, and tr-TR. All wraps are clean, with no clipping or overlap, and every menu item plus Back remains visible. Physical TZT testing confirmed QR Code, Words, From Storage, both Back levels, and button and touch navigation.
What is the purpose of this pull request?
Verification