fix: derive hasWallet from the wallet list on load (closes #195)
All checks were successful
check / check (push) Successful in 36s

loadState() took hasWallet straight from storage, so any profile persisted
with the flag out of step with wallets stayed broken on every subsequent
load rather than only until the next write. The flag is now derived from
wallets.length at load time.

The only consumer is the popup's welcome-vs-wallet-list gate in
src/popup/index.js; the only writers set it true alongside an added
wallet. Nothing reads it expecting it to differ from wallets.length, so
deriving is safe and needs no write-back on load.
This commit is contained in:
clawbot
2026-08-11 12:21:56 +00:00
parent b882cede9f
commit 27e37b9976
3 changed files with 112 additions and 1 deletions

View File

@@ -44,6 +44,10 @@ undefined identifiers, which is how
# Completed Steps
- 2026-08-11: `loadState()` now derives `hasWallet` from the wallet list instead
of trusting the persisted flag, so a profile already saved inconsistent no
longer stays broken on every load
([#195](https://git.eeqj.de/sneak/AutistMask/issues/195)).
- 2026-08-11: Wallet deletion repairs its own state — `hasWallet` follows the
remaining wallets, the selection only moves when it was deleted, and the
active-address change is broadcast to connected sites