Skip to content

fix(wallet): drop per-relay backup status list from Spark settings#572

Open
dmnyc wants to merge 1 commit into
barrydeen:mainfrom
dmnyc:feat/drop-relay-backup-status-list
Open

fix(wallet): drop per-relay backup status list from Spark settings#572
dmnyc wants to merge 1 commit into
barrydeen:mainfrom
dmnyc:feat/drop-relay-backup-status-list

Conversation

@dmnyc
Copy link
Copy Markdown
Contributor

@dmnyc dmnyc commented May 26, 2026

iOS doesn't surface a per-relay backup status display in the wallet settings, and the section is overkill on Android too:

  • Default Spark wallets never render the relay-backup affordance at all — the nsec is the canonical backup, so this list never showed for them anyway
  • Non-default Spark wallets keep the existing "Backup to Nostr Relays" button alongside the Recovery Phrase row — that's still useful as legacy plumbing for users who set up before the default-wallet path existed. The fine-grained per-relay status card just isn't needed inline.

What goes

  • "Relay Backup Status" header + refresh IconButton
  • The Card listing each relay URL with a green / grey dot
  • "Delete Relay Backup" TextButton, status messages, and confirmation AlertDialog

What stays

  • "Backup to Nostr Relays" button (non-default Spark wallets only — unchanged behaviour)
  • Recovery Phrase view / backup button (default vs non-default copy unchanged)
  • WalletViewModel.relayBackupStatuses / checkRelayBackupStatuses() / deleteRelayBackup() — kept deliberately in the ViewModel and on the screen's parameter list so other entry points (or a future debug-only surface) can still trigger them. Ripping the ViewModel state out would balloon this diff into a refactor.

Files

  • app/src/main/kotlin/com/wisp/app/ui/screen/WalletScreen.kt (+7 / -131)

Test plan

  • Default Spark wallet → Wallet Settings → Security shows just "View Recovery Phrase". No relay backup affordance at all
  • Non-default Spark wallet (e.g. restored mnemonic) → Security shows "Backup Recovery Phrase" + "Backup to Nostr Relays". No status list, no delete button, no per-relay dots
  • NWC wallet → Security still hides both Spark-only sections (unchanged)

iOS doesn't surface a per-relay backup status display in the wallet
settings screen, and the section is overkill for the Android side too —
the majority of users start with the default Spark wallet (which never
shows the relay-backup affordance at all, because the nsec is the
canonical backup), and the remaining minority on non-default Spark
wallets get the "Backup to Nostr Relays" button alongside the Recovery
Phrase row without needing a per-relay status card to interpret.

Removes the entire status block: the "Relay Backup Status" header +
refresh icon, the relay-URL + green/grey dot card, the "Delete Relay
Backup" TextButton + status messages, and the confirmation dialog.
The "Backup to Nostr Relays" button stays — non-default wallets can
still push the encrypted backup to relays, we just don't surface the
fine-grained per-relay state inline.

WalletViewModel plumbing (`relayBackupStatuses`, `relayBackupCheckLoading`,
`checkRelayBackupStatuses()`, `deleteRelayBackup()`) is left in place
deliberately. The status check + delete actions are still wired through
the WalletScreen parameter list so other entry points (or a future
debug-only view) can use them, and ripping the ViewModel state out
would balloon this diff into a refactor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant