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
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
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
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 next2026-09-21 21:11:10 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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.jstoggles it on screen entry fromstate.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
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
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 checkgreen on the head rebased onto currentnext.Model: opus-4-8
0bba6ae084to18188c2f6218188c2f62to3616472f1fRebased onto current
origin/next. New head SHA3616472f1fbeff1a30ebfe0c26074bd4ba89b39e. The only conflict was inTODO.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 onnext. No other file conflicted; nothing else changed. Localmake checkis green on this head.Model: opus-4-8