Skip to content

feat: Wallet backup safety, bolt icon refresh, and zap UX improvements #406

Merged
barrydeen merged 6 commits intobarrydeen:mainfrom
dmnyc:feat/wallet-backup-ux-improvements
Apr 1, 2026
Merged

feat: Wallet backup safety, bolt icon refresh, and zap UX improvements #406
barrydeen merged 6 commits intobarrydeen:mainfrom
dmnyc:feat/wallet-backup-ux-improvements

Conversation

@dmnyc
Copy link
Copy Markdown
Contributor

@dmnyc dmnyc commented Apr 1, 2026

Summary

  • Backup missing warning — red banner on balance page when no relay backup is found, with one-tap Backup Now button (requires majority of relays to respond before flagging)
  • Restore wallet on initial page — new Restore Existing Wallet card on the wallet mode selection screen
  • Seed not viewed nudge — orange banner on balance page when recovery phrase hasn't been viewed yet
  • Wallet branding — Spark+Breez "Powered by" on balance page, Built on Spark badge on settings footer, NWC logo and branding for NWC wallets
  • NWC lightning address — extract and display lud16 from NWC connection string
  • Balance unit toggle — sats (default), ₿, or ⚡ display in wallet settings, persisted per account
  • Custom bolt icon — consistent bolt shape across the entire app replacing Material ElectricBolt and ⚡ emoji
  • Zap icon style toggle — switch between ₿ and bolt for zap counts in Interface settings
  • Tap-to-edit zap amount — tap the large amount display in the zap dialog to edit directly instead of clicking Custom first
  • Gradle bumps — AGP 8.13.2, Gradle wrapper 8.13

Screenshots

Connect a Wallet
image

Restore Spark Wallet from Relays
image

Spark Seed Phrase Backup Reminder
image

Spark Wallet Settings
image

NWC Balance Screen
image

NWC Wallet Settings
image

Zap Icon Toggle
image

Zap Display with Lightning Bolt
image

Zap Display with Bitcoin Symbol
image

Test plan

  • Create new Spark wallet — verify seed nudge appears on balance page
  • View recovery phrase — verify nudge disappears
  • Delete relay backup — verify red warning appears after re-check
  • Tap Backup Now — verify backup succeeds and warning clears
  • Restore wallet from initial page using mnemonic and relay options
  • Toggle balance unit between sats/₿/⚡ — verify display updates ─
  • Toggle zap icon in Interface settings — verify bolt/₿ changes on feed posts
  • Tap zap amount in zap dialog — verify inline editing with keyboard
  • Connect NWC wallet with lud16 param — verify address displayed
  • Verify bolt icon appears consistently in zap dialog, profile, notifications, DMs

dmnyc and others added 6 commits April 1, 2026 13:01
…ggle

- Show warning banner on balance page when relay backup is missing,
  with a Backup Now button (requires majority EOSE before flagging)
- Add Restore Existing Wallet option on the initial wallet page
- Show seed-not-viewed nudge on balance page when user hasn't
  acknowledged their recovery phrase
- Add Spark+Breez branding on balance page and Built on Spark badge
  on settings footer
- Add NWC logo and branding on balance/settings pages
- Extract lud16 from NWC connection string for display
- Add balance unit toggle (sats/bitcoin/lightning) in wallet settings
  with persistence per account
- Add ic_bolt drawable from wordswithzaps for consistent bolt shape
- Add zap icon toggle in Interface settings (bitcoin symbol vs bolt)
- Apply preference to ActionBar zap button, zap amounts, and
  TopZapperBanner on posts
- Use bolt icon in zap animation path for visual consistency
Replace all ElectricBolt and lightning emoji usages with ic_bolt in
ZapDialog, UserProfileScreen, NotificationsScreen, DmBubble,
ReactionDetailsSection, RichContent, and FeedScreen for consistent
bolt styling across the app.
Allow tapping the large zap amount number to switch to inline editing,
pre-filling the current amount. Saves a step vs clicking Custom first.
Uses BasicTextField styled to match the display for seamless transition.
Use 2/3 EOSE majority threshold instead of waiting for all relays,
early-exit when spark backup is found, deduplicate events by ID,
and use ensureWriteRelaysConnected to avoid 5s connection timeout.
Reduces autoCheck from ~15s to ~300ms in typical conditions.
@barrydeen barrydeen merged commit dbbbdae into barrydeen:main Apr 1, 2026
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.

2 participants