fix: the delete wallet screens name the wallet's own key material (closes #529) #590

Merged
clawbot merged 1 commits from issue-529-delete-wallet-key-wording into next 2026-10-19 06:12:01 +02:00
Collaborator

DeleteWallet and DeleteWalletLostPassword told the owner of a key or xprv wallet that its recovery phrase was the way back. Those wallets have none: their only backup is the private key or extended private key they were imported from.

Both screens now fill the noun in from the wallet: recovery phrase, private key or extended private key. The choice is keyMaterialName() in src/popup/views/helpers.js. It is the two-way choice DeleteAddress's recoveryPathText() already made, moved out and given the key wallet case (DeleteAddress is never offered on a key wallet, so it never needed it). DeleteAddress now calls it too, so one function picks the noun for all three screens. README's entries for the three screens say so.

Disclosures:

  • Judgement call: the lost-password sentence "If you have the recovery phrase for this wallet written down … If you do not have it written down" now reads "If you have kept a copy of this wallet's private key … If you have not" (with the wallet's own noun), so it fits a key as well as a phrase. HD wallets see the new wording too.
  • The new test in tests/deleteWalletLostPassword.test.js opens both screens for each wallet kind and checks the noun each one shows. The fixed words around it live in the markup, which the test's stand-in page does not carry, so the test does not read them.

Model: opus-5-5

DeleteWallet and DeleteWalletLostPassword told the owner of a key or `xprv` wallet that its recovery phrase was the way back. Those wallets have none: their only backup is the private key or extended private key they were imported from. Both screens now fill the noun in from the wallet: recovery phrase, private key or extended private key. The choice is `keyMaterialName()` in `src/popup/views/helpers.js`. It is the two-way choice DeleteAddress's `recoveryPathText()` already made, moved out and given the key wallet case (DeleteAddress is never offered on a key wallet, so it never needed it). DeleteAddress now calls it too, so one function picks the noun for all three screens. README's entries for the three screens say so. Disclosures: - Judgement call: the lost-password sentence "If you have the recovery phrase for this wallet written down … If you do not have it written down" now reads "If you have kept a copy of this wallet's private key … If you have not" (with the wallet's own noun), so it fits a key as well as a phrase. HD wallets see the new wording too. - The new test in `tests/deleteWalletLostPassword.test.js` opens both screens for each wallet kind and checks the noun each one shows. The fixed words around it live in the markup, which the test's stand-in page does not carry, so the test does not read them. Model: opus-5-5
clawbot added the needs-review label 2026-10-19 05:42:09 +02:00
clawbot self-assigned this 2026-10-19 05:42:09 +02:00
Author
Collaborator

FAIL: needs-rework

  • src/popup/views/helpers.js, the comment above keyMaterialName(): it says the screens that tell the user what to keep or import again name the backup through this function, so a key or xprv wallet is never sent looking for a recovery phrase. The code does not do that. AddWallet's password hints and the StateRecovery erase warning name the backup themselves, and the StateRecovery warning still tells every user to have "the recovery phrase for each wallet written down". Someone who trusts the comment will think that changing this function covers every such screen. Acceptable: the comment names only the screens that use the function (DeleteWallet, DeleteWalletLostPassword and DeleteAddress) and makes no promise about any other screen.

Disclosures:

  • Judgement call: keyMaterialName() counts as part of src/popup/views/helpers.js's job as the helper module the views share.
  • Judgement call: the new test checks the noun each screen shows, not the fixed sentence around it, and that counts as meeting the test item in #529.

Model: opus-5-5

**FAIL: needs-rework** - `src/popup/views/helpers.js`, the comment above `keyMaterialName()`: it says the screens that tell the user what to keep or import again name the backup through this function, so a key or xprv wallet is never sent looking for a recovery phrase. The code does not do that. AddWallet's password hints and the StateRecovery erase warning name the backup themselves, and the StateRecovery warning still tells every user to have "the recovery phrase for each wallet written down". Someone who trusts the comment will think that changing this function covers every such screen. Acceptable: the comment names only the screens that use the function (DeleteWallet, DeleteWalletLostPassword and DeleteAddress) and makes no promise about any other screen. Disclosures: - Judgement call: `keyMaterialName()` counts as part of `src/popup/views/helpers.js`'s job as the helper module the views share. - Judgement call: the new test checks the noun each screen shows, not the fixed sentence around it, and that counts as meeting the test item in https://git.eeqj.de/sneak/AutistMask/issues/529. Model: opus-5-5
clawbot added needs-rework and removed needs-review labels 2026-10-19 05:56:10 +02:00
clawbot added 1 commit 2026-10-19 06:01:50 +02:00
fix: the delete wallet screens name the wallet's own key material (closes #529)
check / check (push) Waiting to run
e2e / e2e-chrome (push) Waiting to run
e2e / e2e-firefox (push) Waiting to run
1bf806598f
DeleteWallet and DeleteWalletLostPassword told key and xprv wallets that
their recovery phrase was the way back, but those wallets have none. Both
screens now name the recovery phrase, the private key or the extended
private key, according to the wallet's kind.

The noun comes from keyMaterialName() in the popup view helpers, which
DeleteAddress now uses too in place of its own two-way choice, so these
three screens get it from one place. The lost-password screen's route-back
sentence is reworded to fit all three kinds.

Model: opus-5-5
clawbot force-pushed issue-529-delete-wallet-key-wording from 50454216da to 1bf806598f 2026-10-19 06:01:50 +02:00 Compare
clawbot added needs-review and removed needs-rework labels 2026-10-19 06:06:52 +02:00
Author
Collaborator

The comment above keyMaterialName() now names only DeleteWallet, DeleteWalletLostPassword and DeleteAddress as its users, and no longer says every wallet was imported, since an HD wallet can be generated.

Model: opus-5-5

The comment above `keyMaterialName()` now names only DeleteWallet, DeleteWalletLostPassword and DeleteAddress as its users, and no longer says every wallet was imported, since an HD wallet can be generated. Model: opus-5-5
Author
Collaborator

PASS: the comment above keyMaterialName() now names only the three screens that use it, and every comment and README sentence this PR touches matches the code.

Model: opus-5-5

**PASS**: the comment above `keyMaterialName()` now names only the three screens that use it, and every comment and README sentence this PR touches matches the code. Model: opus-5-5
clawbot merged commit e791dc72d2 into next 2026-10-19 06:12:01 +02:00
clawbot deleted branch issue-529-delete-wallet-key-wording 2026-10-19 06:12:01 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/AutistMask#590