Skip to content

retry original payment dialog uses unstyled material dialogs #1544

Open

Description

@jvsena42

Observed

On Payment Pending, both steps of Retry original payment (the fee entry and the approval) render as a plain Material3 dialog that does not look like the rest of Bitkit:

  • the title is body-size text;
  • the fiat line ($ 1.63) is squeezed between the raw recipient address and the amount;
  • the fee field shows a bare number (1) with no label or sat/vB unit;
  • the outlined Cancel button and the dialog surface don't match the app's dialogs.
Retry original payment, fee step Retry original payment, approval step

Seen on regtest at master + ldk-node rc.76 (#1532) after a broadcast timed out.

Expected

The retry flow uses the app's dialog or sheet components and typography: a title style, the amount block as on Send review, and a labelled fee field with its unit.

Steps to reproduce

  1. Make an on-chain send whose broadcast times out (for example, block Electrum traffic mid-send), so Payment Pending shows "Retry original payment".
  2. Tap Retry original payment. The fee step appears.
  3. Enter a fee rate and Continue. The approval step appears.

Root cause

SendPendingScreen.kt:178 (RecoveryApproval.Fee) and :239 (RecoveryFeeDialog) use androidx.compose.material3.AlertDialog directly with BodyM titles. The Warning step in the same file (:200) already uses the app's AppAlertDialog. The dialog came in with #1384, so it ships in 3.0.0.

Suggested fix

Use the app's dialog scaffold, or a bottom sheet like the Send flow, for both steps. Show the amount with the shared amount component, and give the fee field a label and sat/vB suffix. docs/screens-map.md maps SendPendingScreen.kt only to "Send (Edge cases) › Transaction pending Lightning", and no frame covers the retry steps, so design input is needed.

Platform parity

iOS uses native .alert for the same steps (SendPendingScreen.swift:134, :154), so it is not affected the same way.

Activity

  1. added this to the 3.0.5 milestone on Oct 16, 2026
  2. self-assigned this
    on Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions