fix: say a second wallet's password is separate when one is chosen (closes #374) #390

Merged
clawbot merged 1 commits from issue-374-add-wallet-password-copy into next 2026-09-21 21:11:10 +02:00
Collaborator

What changed

The add-wallet screen offered only "Choose a password" while each wallet keeps its own encrypted secret. Adding a second wallet therefore accepted a password different from the first with nothing on screen marking it as a separate one — a user who believed they had one password for the extension would later find wallet 2 refusing it, recoverable only from the recovery phrase.

A note now appears on that screen when the profile already holds a wallet: each wallet has its own password, and the one chosen here need not match any already in use. addWallet.js toggles it on screen entry from state.wallets.length, so it is constant while the screen is up and moves nothing.

Why this shape

The note is shown only when a wallet already exists — on the first wallet there is no other password to be separate from — which is the reading the definition of done's second point supports. It promises no recovery or reset, so it does not contradict the no-password-reset design (#312).

What a reader might trip over

  • Judgement call: the note is gated on an existing wallet, not shown unconditionally, since "need not match any other" is meaningless with no other password.

Tests boot the real popup and reach the screen through the same button a user presses, asserting the note hidden while onboarding and shown once a wallet exists, plus the copy's two required facts and its consistency with the no-reset reality.

Model: opus-4-8

## What changed The add-wallet screen offered only "Choose a password" while each wallet keeps its own encrypted secret. Adding a second wallet therefore accepted a password different from the first with nothing on screen marking it as a separate one — a user who believed they had one password for the extension would later find wallet 2 refusing it, recoverable only from the recovery phrase. A note now appears on that screen when the profile already holds a wallet: each wallet has its own password, and the one chosen here need not match any already in use. `addWallet.js` toggles it on screen entry from `state.wallets.length`, so it is constant while the screen is up and moves nothing. ## Why this shape The note is shown only when a wallet already exists — on the first wallet there is no other password to be separate from — which is the reading the definition of done's second point supports. It promises no recovery or reset, so it does not contradict the no-password-reset design (https://git.eeqj.de/sneak/AutistMask/issues/312). ## What a reader might trip over - Judgement call: the note is gated on an existing wallet, not shown unconditionally, since "need not match any other" is meaningless with no other password. Tests boot the real popup and reach the screen through the same button a user presses, asserting the note hidden while onboarding and shown once a wallet exists, plus the copy's two required facts and its consistency with the no-reset reality. Model: opus-4-8
clawbot self-assigned this 2026-09-21 09:32:42 +02:00
clawbot added the needs-review label 2026-09-21 09:32:51 +02:00
Author
Collaborator

PASS: the add-wallet screen now shows, only when the profile already holds a wallet, a note that each wallet has its own password and the one chosen here need not match any already in use — meeting every point of the definition of done without contradicting the no-password-reset design, with meaningful tests that boot the real popup, and make check green on the head rebased onto current next.

Model: opus-4-8

PASS: the add-wallet screen now shows, only when the profile already holds a wallet, a note that each wallet has its own password and the one chosen here need not match any already in use — meeting every point of the definition of done without contradicting the no-password-reset design, with meaningful tests that boot the real popup, and `make check` green on the head rebased onto current `next`. Model: opus-4-8
clawbot added needs-rebase and removed needs-review labels 2026-09-21 14:56:39 +02:00
clawbot force-pushed issue-374-add-wallet-password-copy from 0bba6ae084 to 18188c2f62 2026-09-21 15:01:54 +02:00 Compare
clawbot added needs-review and removed needs-rebase labels 2026-09-21 15:02:06 +02:00
clawbot added needs-rebase and removed needs-review labels 2026-09-21 18:31:56 +02:00
clawbot added 1 commit 2026-09-21 21:02:49 +02:00
fix: say a second wallet's password is separate when one is chosen (closes #374)
e2e / e2e-chrome (push) Failing after 1s
e2e / e2e-firefox (push) Failing after 1s
check / check (push) Successful in 1m21s
3616472f1f
The add-wallet screen offered only "Choose a password" while each wallet
keeps its own encrypted secret, so a second wallet silently accepted a
password different from the first with nothing marking it as separate. A
note now appears on that screen when the profile already holds a wallet,
saying each wallet has its own password and this one need not match any
already in use. It is shown only then — the first wallet has no other
password to differ from — and is decided on screen entry, so it does not
move the password fields. It promises no recovery or reset, staying
consistent with the no-password-reset design.

Model: opus-4-8
clawbot force-pushed issue-374-add-wallet-password-copy from 18188c2f62 to 3616472f1f 2026-09-21 21:02:49 +02:00 Compare
clawbot added needs-checks and removed needs-rebase labels 2026-09-21 21:03:01 +02:00
Author
Collaborator

Rebased onto current origin/next. New head SHA 3616472f1fbeff1a30ebfe0c26074bd4ba89b39e. The only conflict was in TODO.md (both this PR and the unit for #351 added a bullet at the top of Completed Steps); resolved by keeping both, with this PR's entry placed directly after the entries now on next. No other file conflicted; nothing else changed. Local make check is green on this head.

Model: opus-4-8

Rebased onto current `origin/next`. New head SHA `3616472f1fbeff1a30ebfe0c26074bd4ba89b39e`. The only conflict was in `TODO.md` (both this PR and the unit for https://git.eeqj.de/sneak/AutistMask/issues/351 added a bullet at the top of Completed Steps); resolved by keeping both, with this PR's entry placed directly after the entries now on `next`. No other file conflicted; nothing else changed. Local `make check` is green on this head. Model: opus-4-8
clawbot merged commit 2da790fbe9 into next 2026-09-21 21:11:10 +02:00
clawbot deleted branch issue-374-add-wallet-password-copy 2026-09-21 21:11:10 +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#390