Skip to content

feat(send): improve Lightning send failure recovery - #1140

Draft
pwltr wants to merge 1 commit into
masterfrom
feat/reset-routing
Draft

feat(send): improve Lightning send failure recovery#1140
pwltr wants to merge 1 commit into
masterfrom
feat/reset-routing

Conversation

@pwltr

@pwltr pwltr commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Description

Ports the iOS Lightning send-failure retry behavior to Android.

  • Shows the send failure screen for failed Lightning sends instead of relying only on toasts.
  • Maps LDK payment failure reasons to localized, user-facing strings.
  • Uses send-specific copy for route-not-found and retries-exhausted failures.
  • Keeps generic payment failure copy reusable outside the send flow.
  • Shows the correct failure title for Lightning vs on-chain send errors.
  • Always shows Retry on the Lightning send failure screen.
  • Retry clears local/VSS network graph data and scorer/pathfinding score data before restarting ldk-node.
  • Retry waits for local routing data to be usable again without requiring a newer remote RGS snapshot timestamp.
  • Guards retry state in WalletViewModel so overlapping retry flows cannot surface stale timeout errors.
  • Resets send navigation back to the retry route instead of stacking retry screens on top of the failure screen.

Closes #829

Preview

Screen.Recording.2026-08-06.at.16.16.23.mov

QA Notes

Tested on mainnet emulator:

  • Confirmed ROUTE_NOT_FOUND surfaces user-facing send copy.
  • Confirmed retry deletes local graph, VSS graph, scorer, and external scores cache.
  • Confirmed retry restarts from an empty graph and accepts the same RGS snapshot timestamp.
  • Confirmed retry waits through RGS/scorer refresh and returns to the send confirmation path.
  • Confirmed no stale retry timeout after repeated retry attempts.

Automated checks:

  • compileDevDebugKotlin
  • PaymentFailureReasonExtTest.kt
  • AppViewModelSendFlowTest.kt
  • TransferViewModelTest.kt
  • detekt

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.

Improve Send Error Sheet UX

1 participant