aboutsummaryrefslogtreecommitdiffstats
path: root/src/features
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-04 00:01:27 -0700
committerAdam Soltys <[email protected]>2026-08-04 00:01:27 -0700
commitd8964bdf6f047d058731edfae6d07e57106661c8 (patch)
treeaa55f97ff440e87beec82b7d0e94bbe6762897a8 /src/features
parent5682cc88e54f00ce01fdd2ef01e5bb1a207b1be2 (diff)
downloadcoinosv3-d8964bdf6f047d058731edfae6d07e57106661c8.tar.gz
coinosv3-d8964bdf6f047d058731edfae6d07e57106661c8.zip
Offer a password the first time you lock
Locking with no password locks nothing — the wallets sit on the device under an empty one and reopen with a tap. So the first deliberate lock now asks whether to set one, explaining plainly what happens if you don't. 'Not now' is a real answer, recorded, and never asked again: a wallet that nags is a wallet people stop reading. The offer rides the deliberate lock only. lock() is also where the idle timer, the last-wallet-removed path and boot-after-expiry land, and a password form appearing because you went to lunch is a different app than the one you left. Two subtleties worth naming: the offer is set after lock()'s ui reset block, which clears ui.pw and had been swallowing it; and taking the offer re-enters lock(), which now finds a password and lands on the unlock screen instead of the wallet list. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Wvj4aoeMZwA7VUGdJP9Swi
Diffstat (limited to 'src/features')
0 files changed, 0 insertions, 0 deletions