9c6502b089
Phase 3: wire multi-account lifecycle into desktop AccountManager. - Add DesktopAccountStorage field and allAccounts StateFlow - switchAccount(): loads new account BEFORE cancelling old state (prevents unrecoverable partial failure per coroutines review) - addAccountToStorage / removeAccountFromStorage for CRUD - loadViewOnlyAccount() for npub-only accounts - migrateAndLoadAccounts() for legacy file migration on startup - saveCurrentAccount / saveBunkerAccount now save to encrypted storage - Updated test mock setup to support SecureKeyStorage key store Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>