Files
amethyst/docs/plans/2026-04-28-multi-account-testing-sheet.md
T
Vitor Pamplona 8a498695a9 v1.09.2
2026-05-16 12:06:32 -04:00

4.8 KiB

Multi-Account Testing Sheet

Branch: feat/desktop-multi-account Date: 2026-04-28 Tester:

Pre-test Setup

  • Clean build: ./gradlew :desktopApp:clean :desktopApp:run
  • Delete ~/.amethyst/accounts.json.enc if exists (fresh state)

T1: Fresh Launch (No Accounts)

# Step Expected Pass? Notes
1.1 Launch app Login screen shown
1.2 Check sidebar Person icon visible at top of sidebar (replaces "A" logo)
1.3 Click person icon Dropdown shows "No accounts" + "Add Account"

T2: Login with nsec (First Account)

# Step Expected Pass? Notes
2.1 Paste nsec on login screen Login succeeds, feed loads
2.2 Click "Save" (if prompted) Account saved to encrypted storage
2.3 Check ~/.amethyst/accounts.json.enc exists File exists, not readable as plaintext
2.4 Click person icon in sidebar Dropdown shows 1 account with checkmark + "Add Account"
2.5 Verify account npub shown First 16 chars of npub visible

T3: Login with Bunker (Second Account)

# Step Expected Pass? Notes
3.1 Log out current account Login screen shown
3.2 Login with bunker:// URI Bunker connection succeeds, feed loads
3.3 Click person icon Dropdown shows 2 accounts (nsec + bunker)
3.4 Bunker account shows "Bunker" label Signer type label visible under npub
3.5 Active account has checkmark Only current account checked

T4: Login with npub (View-Only, Third Account)

# Step Expected Pass? Notes
4.1 Log out, paste npub on login Login succeeds (read-only mode)
4.2 Click person icon Dropdown shows 3 accounts
4.3 View-only shows label "View only" label visible

T5: Account Switching

# Step Expected Pass? Notes
5.1 Click different account in dropdown App switches, feed reloads
5.2 Check relay reconnection Relay indicators show reconnection activity
5.3 Switch back to first account Feed loads with first account's data
5.4 Verify active checkmark moves Checkmark on newly active account
5.5 Switch to bunker account Bunker heartbeat indicator appears
5.6 Switch away from bunker Heartbeat stops, NIP-46 cleaned up

T6: Persistence Across Restarts

# Step Expected Pass? Notes
6.1 Close app (Cmd+Q) Clean exit
6.2 Relaunch app Auto-login to last active account
6.3 Click person icon All previously added accounts still listed
6.4 Switch to different account, restart Restarts into the account you switched to

T7: Account Removal

# Step Expected Pass? Notes
7.1 Remove a non-active account Account disappears from list, active stays
7.2 Remove the active account App switches to next account or shows login
7.3 Remove all accounts Login screen shown

T8: Encrypted Storage Security

# Step Expected Pass? Notes
8.1 cat ~/.amethyst/accounts.json.enc Binary/encrypted data, no plaintext npubs
8.2 `hexdump -C ~/.amethyst/accounts.json.enc head` No readable strings
8.3 File permissions: ls -la ~/.amethyst/accounts.json.enc -rw------- (owner only)

T9: Edge Cases

# Step Expected Pass? Notes
9.1 Login with invalid nsec Error message, stays on login screen
9.2 Login with same account twice Updates existing entry, no duplicate
9.3 Rapid account switching (click fast) No crash, settles on last clicked
9.4 Switch while relays still connecting Handles gracefully, no stuck state

T10: UI/UX

# Step Expected Pass? Notes
10.1 Dropdown positioning Opens to the right of 48dp sidebar
10.2 Click outside dropdown Dropdown dismisses
10.3 "Add Account" button Visible at bottom with divider
10.4 Sidebar icon size Person icon fits within 48dp width

Known Limitations (Not Bugs)

  • "Add Account" button is wired but has no dialog yet (TODO)
  • No keyboard shortcut (Cmd+Shift+A) yet
  • No background notification counts yet
  • No system tray integration yet
  • Account removal not yet exposed in UI (only programmatic)
  • NWC connection is global, not per-account

Test Environment

  • OS:
  • JDK version:
  • Amethyst version: 1.09.2 (feat/desktop-multi-account)