Summary
In lib/screens/9receive_screen.dart, the _confirmRequestAmount() method validates
the raw amount text using double.tryParse directly, which rejects comma-decimal inputs
(e.g., 1,5 or 1 000,50) before _normalizeLocalizedNumber() can process them.
This blocks invoice creation for users in several supported locales (DE, FR, IT, PT, RU, ES).
Steps to Reproduce
- Set your device locale to one that uses comma as the decimal separator
(e.g., German, French, Italian, Portuguese, Russian, Spanish).
- Open the receive screen and tap to create an invoice.
- Enter an amount like
1,5 or 1 000,50.
- Tap confirm — the amount is rejected as invalid even though
_normalizeLocalizedNumber() exists and could handle it.
Expected Behavior
Comma-decimal inputs should be accepted and normalized via _normalizeLocalizedNumber()
before validation.
Suggested Fix
- final amount = double.tryParse(_amountController.text.trim());
- final amount = _normalizeLocalizedNumber(_amountController.text.trim());
References
Summary
In
lib/screens/9receive_screen.dart, the_confirmRequestAmount()method validatesthe raw amount text using
double.tryParsedirectly, which rejects comma-decimal inputs(e.g.,
1,5or1 000,50) before_normalizeLocalizedNumber()can process them.This blocks invoice creation for users in several supported locales (DE, FR, IT, PT, RU, ES).
Steps to Reproduce
(e.g., German, French, Italian, Portuguese, Russian, Spanish).
1,5or1 000,50._normalizeLocalizedNumber()exists and could handle it.Expected Behavior
Comma-decimal inputs should be accepted and normalized via
_normalizeLocalizedNumber()before validation.
Suggested Fix
References