Android, version 2.8.1
tl;dr if I scan an invoice, and change the primary currency before making the payment (from sats to a fiat currency like USD or EUR), when I change it back to sats, the amount is different than the initial sat amount.
This can lead to the payment failing due to underpayment.
Repro flow;
- Settings -> currency converter -> add 1 or more currencies
- Back to main app page
- Send
- Pick a BOLT12 contact, or scan an invoice
- E.x. amount of 1000 sats
- click 'sat' to the right of the amount, select a fiat currency
- the sat amount displayed in small font below the main field, is different than the sat amount originally entered in the send flow
-
- E.x. 1000 sat -> USD -> 993 sat
- Click 'USD' and switch the currency back to sat
- The payment amount is now different than the original amount, and the payment may fail.
Seems like the exchange rate fetching may be delayed to when I select another currency for the displayed amount? Or the original sat amount is not cached while I'm on this screen? Or something else.
Supporting 2+ fiat currencies is pretty useful, for travel at least. Would be nice to have some check to make sure I don't underpay if I scan an invoice but then check the EUR amount of the payment before send (when my primary currency is USD).
Android, version 2.8.1
tl;dr if I scan an invoice, and change the primary currency before making the payment (from sats to a fiat currency like USD or EUR), when I change it back to sats, the amount is different than the initial sat amount.
This can lead to the payment failing due to underpayment.
Repro flow;
Seems like the exchange rate fetching may be delayed to when I select another currency for the displayed amount? Or the original sat amount is not cached while I'm on this screen? Or something else.
Supporting 2+ fiat currencies is pretty useful, for travel at least. Would be nice to have some check to make sure I don't underpay if I scan an invoice but then check the EUR amount of the payment before send (when my primary currency is USD).