aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-16 20:22:28 -0700
committerAdam Soltys <[email protected]>2026-08-16 20:22:28 -0700
commit16f513da8d319a8f940c713ddc8358399cd2e434 (patch)
treed4b590a6c72ee366d39e0e53e9869f01fc1d11d5 /src
parent68087da68be8123bd6f98bed0baf91e419bd1a5e (diff)
downloadcoinosv3-16f513da8d319a8f940c713ddc8358399cd2e434.tar.gz
coinosv3-16f513da8d319a8f940c713ddc8358399cd2e434.zip
The lock test learns the doors moved: logout is the front door and asks for a password once ever (the guard is finally wired to its comment), the padlock keeps asking because it must, and the suite walks the real UI again
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
Diffstat (limited to 'src')
-rw-r--r--src/app.js12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/app.js b/src/app.js
index 0b63492..7e7dc9a 100644
--- a/src/app.js
+++ b/src/app.js
@@ -1710,12 +1710,12 @@ function lock({ offerPassword = false } = {}) {
ui.txDetail = null;
ui.broadcastTx = null;
ui.bump = null;
- // After the resets above (which clear ui.pw): locking with no password locks
- // NOTHING — the wallets reopen by themselves. So a person who taps the
- // padlock gets the password prompt every time until one exists; without it
- // the tap would just be a confusing trip to the wallet list. (The idle
- // timer still never nags.)
- if (noPassword && offerPassword) {
+ // Offer to set a password on the way out — but once, ever: someone who said
+ // "Not now" has answered, and a wallet that nags is a wallet people stop
+ // reading. (The padlock is different: it asks every time via softLock's
+ // in-place prompt, because locking without a password is impossible and
+ // the tap would otherwise be a confusing trip to the wallet list.)
+ if (noPassword && offerPassword && !lockPwAsked()) {
ui.pw = { purpose: 'lock', mode: 'set', v0: '', v1: '', v2: '', error: '' };
}
render();