Skip to content

fix(pay): show amount and recipient, and let payment status actually update - #2534

Draft
BullishNode wants to merge 1 commit into
mainfrom
fix/pay-status-copy
Draft

fix(pay): show amount and recipient, and let payment status actually update#2534
BullishNode wants to merge 1 commit into
mainfrom
fix/pay-status-copy

Conversation

@BullishNode

Copy link
Copy Markdown
Contributor

⚠️ Requires emulator/device review before merge — draft until verified. Test: complete a pay (sell-to-recipient); the in-progress screen should show "The payment of X [fiat] to [recipient] will be sent after your transaction receives 1 confirmation onchain", flip to "Your transaction is confirmed…" after 1 conf, and the transaction details page should support pull-to-refresh and show an error + Retry instead of eternal skeletons on load failure.

Problems

  1. The "Payment in Progress" screen rendered static copy with no amount or recipient, even though the order in scope carries both — and the bloc emitted the stale pre-broadcast order into the success state despite having just fetched the fresh one.
  2. Nothing visible was bound to the 5s poll: the bitcoin transaction confirming changed nothing on screen (only fiat payout completion navigated away — hours later for scheduled bank payouts). The details page was a one-shot fetch with no refresh and no error state.

Changes

  • In-progress and completed screens show fiat amount + recipient (fallback chain: beneficiary name → label → account identifier); details table gains a Recipient row
  • Copy switches on payin confirmation, driven by the existing poll
  • Success state carries the post-broadcast order
  • Details page: pull-to-refresh + error state with Retry
  • New localization keys instead of editing old ones, so stale translations fall back to English rather than silently dropping the amount/recipient

Deliberately minimal per issue discussion: no status-code state machine, no staleness indicators, no refresh-on-focus.

Validation

New bloc test pins the fresh-order emit (fails on old code); analyze clean; pay + transactions suites green; reviewed with a verification pass (watcher-leak fix applied). Merge note: this PR must merge BEFORE the fee-selection PR, which removes event params this branch's screen/test still construct — the fee-selection PR reconciles on rebase.

Closes #2524
Closes #2525

…update

- 'Payment in Progress!' now says what is happening: 'The payment of
  {fiatAmount} to {recipient} will be sent after your transaction
  receives 1 confirmation onchain', with the recipient resolved from
  the order (name, then label, then account identifier). Same
  treatment on the completed screen, and the details table gains a
  Recipient row.
- Once the payin confirms, the copy switches to 'Your transaction is
  confirmed. The payment ... is being processed', driven by the
  existing 5s poll.
- The success state now carries the post-broadcast order instead of
  the stale pre-broadcast snapshot the bloc fetched and discarded.
- Transaction details: pull-to-refresh, and a proper error state with
  Retry instead of skeletons that spin forever when the load fails.
- New localization keys instead of editing the old ones, so stale
  translations fall back to English rather than silently dropping the
  amount and recipient.

Closes #2524
Closes #2525
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