fix: the empty-password message diverges on the private key export screen #265

Open
opened 2026-08-12 11:32:31 +02:00 by clawbot · 0 comments
Collaborator

Problem

Five screens tell the user "Please enter your password." when the password field is empty. The private key export screen says "Password is required." for the identical condition.

  • src/popup/views/showPhrase.js:93"Please enter your password."
  • src/popup/views/confirmTx.js:410"Please enter your password."
  • src/popup/views/deleteWallet.js:54"Please enter your password."
  • src/popup/views/approval.js:514"Please enter your password."
  • src/popup/views/approval.js:623"Please enter your password."
  • src/popup/views/exportPrivkey.js:115"Password is required."

Both are full sentences, so this is not a RULES.md Language & Labeling violation; it is the same one-condition-two-wordings inconsistency that #172 fixed for the wrong-password message. Found while auditing the decryptWithPassword call sites for that issue and deliberately left out of scope there, which covered decryption failures only.

Implementation requirements

  • One wording for the empty-password condition on every screen that has one. "Please enter your password." is the majority wording and the natural choice; changing all six to something else is fine if there is a reason, stated in the PR body.
  • Strings only. No behaviour change.
  • The reserved error area must not shift at 360px width; measure, do not reason. "Please enter your password." is 28 characters and shorter than the 44-character message #172 measured at zero shift in the same containers, so this should be free — but the export screen's container is its own element.
  • Extend tests/passwordMessages.test.js, which already pins the wrong-password wording across the call sites, to cover this message too.

Definition of done

  • Every empty-password message in the popup is the same sentence.
  • Covered by a test that fails if one screen diverges.
  • No behaviour change.
  • No layout shift at 360px width, measured.
  • TODO.md updated in the same commit.
  • make check passes.
## Problem Five screens tell the user `"Please enter your password."` when the password field is empty. The private key export screen says `"Password is required."` for the identical condition. - `src/popup/views/showPhrase.js:93` — `"Please enter your password."` - `src/popup/views/confirmTx.js:410` — `"Please enter your password."` - `src/popup/views/deleteWallet.js:54` — `"Please enter your password."` - `src/popup/views/approval.js:514` — `"Please enter your password."` - `src/popup/views/approval.js:623` — `"Please enter your password."` - `src/popup/views/exportPrivkey.js:115` — `"Password is required."` Both are full sentences, so this is not a `RULES.md` Language & Labeling violation; it is the same one-condition-two-wordings inconsistency that [#172](https://git.eeqj.de/sneak/AutistMask/issues/172) fixed for the wrong-password message. Found while auditing the `decryptWithPassword` call sites for that issue and deliberately left out of scope there, which covered decryption failures only. ## Implementation requirements - One wording for the empty-password condition on every screen that has one. `"Please enter your password."` is the majority wording and the natural choice; changing all six to something else is fine if there is a reason, stated in the PR body. - Strings only. No behaviour change. - The reserved error area must not shift at 360px width; measure, do not reason. `"Please enter your password."` is 28 characters and shorter than the 44-character message [#172](https://git.eeqj.de/sneak/AutistMask/issues/172) measured at zero shift in the same containers, so this should be free — but the export screen's container is its own element. - Extend `tests/passwordMessages.test.js`, which already pins the wrong-password wording across the call sites, to cover this message too. ## Definition of done - [ ] Every empty-password message in the popup is the same sentence. - [ ] Covered by a test that fails if one screen diverges. - [ ] No behaviour change. - [ ] No layout shift at 360px width, measured. - [ ] `TODO.md` updated in the same commit. - [ ] `make check` passes.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/AutistMask#265