Repository navigation
fix: easier typing, clearer screens, and where keys are stored - #103
Merged
Merged
Conversation
The owner found the Recovery Key step and typing hard, and couldn't tell where keys are kept. A verified audit also found screens that ended silently, hidden rules and wording that implied a key file exists. - Recovery Key step: up to 10 minutes instead of sharing a 2-minute limit with all of setup. A timeout saved nothing and left the written key dead. The retype box shows what is typed, the first Cancel only asks, and the app says when the step ended. - Password boxes: time left, Caps Lock warning, clearer errors, live advice and Return moving to the next empty box. Optional, off-by-default ways to check typing: Show what I type and Hold to show (Mac), and Show in the Note editor for Login passwords and API Keys, never Wallet Kinds. - Settings: Where your keys are stored comes first and says what each file is, where it is and whether it is encrypted. The folder can be copied or opened. The Agent Key is named as plain text. - Lock screen, first run, Note editor and Touch ID: keyboard use, plainer words and messages when something ends or fails. Note blur no longer cancels Wallet panels. Nothing has been confirmed on screen yet, and Windows has only been type-checked. Hand checks are in docs/native-credential-design.md and docs/capture-test.md. No new crates. objc2-app-kit gains NSActionCell, NSCell and NSTextFieldCell for the retype box's own field editor. windows gains Win32_UI_Input_Ime to turn the input method off on that box. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The owner found the Recovery Key step and typing hard, and couldn't tell where keys are kept. A verified audit (46 confirmed findings) also found steps that ended without a message, hidden rules, and wording that implied a key file exists.
What changed
Recovery Key step
Typing in password boxes
Where keys are stored
docs/guide.mdgives the same answer.Other screens
Decisions for the reviewer
Chosen by the owner:
Made during the build, and the owner can overrule them:
Dependencies
No new crates, and
Cargo.lockandpackage-lock.jsonare unchanged. Three feature flags and one Windows feature are added on crates already pinned:objc2-app-kit:NSActionCell,NSCellandNSTextFieldCell, for the retype box's own field editor.taoowns the window delegate, so this goes through a cell subclass.windows:Win32_UI_Input_Ime, to turn the input method off on the retype box.The one new Tauri capability is
allow-reveal-vault-folder. The command takes no arguments from the WebView. No network code is added.Testing
scripts/check.shpasses on Mac on this commit, rebased on f0d06e9: 719 tests, 0 failures.macos-15andwindows-2025.Not tested:
lib.rsnow ignoresFocused(false)while the app is still in front, and lock on focus loss depends on that path.WM_CHARstill arriving afterWM_KEYDOWNis swallowed.Hand checks are in
docs/native-credential-design.md("Validation still required"),docs/capture-test.md("Native panels and focus") anddocs/quick-unlock-design.md. Use fake values only.Issues #12 and #13 stay open until the owner's hand checks pass, and #11 stays open for Windows.
Known limits and follow-ups
docs/capture-test.mdrecords the font height to measure first.companionOperation's per-start clause, "Wallet passphrase" wording and some guide lines. SAF-1 (the Start button gap) and SIM-6 also come after this.README.md, on different lines.🤖 Generated with Claude Code