From 03f1e336c1e5530dbede30828b75ae85235fd543 Mon Sep 17 00:00:00 2001 From: jvsena42 Date: Sat, 3 Jan 2026 18:37:46 -0300 Subject: [PATCH 1/2] fix: add expired invoice check to unified invoice --- .../java/to/bitkit/viewmodels/AppViewModel.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt index 59ce94a52..1daa8f741 100644 --- a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt +++ b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt @@ -719,6 +719,21 @@ class AppViewModel @Inject constructor( ?.let { it as? Scanner.Lightning } ?.invoice ?.takeIf { invoice -> + if (invoice.isExpired) { + toast( + type = Toast.ToastType.ERROR, + title = context.getString(R.string.other__scan_err_decoding), + description = context.getString(R.string.other__scan__error__expired), + ) + + Logger.debug( + "Lightning invoice expired in unified URI, defaulting to onchain-only", + context = TAG + ) + return@takeIf false + } + + // Then check sending capacity val canSend = lightningRepo.canSend(invoice.amountSatoshis.coerceAtLeast(1u)) if (!canSend) { Logger.debug("Cannot pay unified invoice using LN, defaulting to onchain-only", context = TAG) From b28ff91601d730024aed918cba3cdf99d609ab31 Mon Sep 17 00:00:00 2001 From: jvsena42 Date: Sat, 3 Jan 2026 18:37:52 -0300 Subject: [PATCH 2/2] chore: lint --- app/src/main/java/to/bitkit/ui/onboarding/TermsOfUseScreen.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/to/bitkit/ui/onboarding/TermsOfUseScreen.kt b/app/src/main/java/to/bitkit/ui/onboarding/TermsOfUseScreen.kt index 30b60c475..920a82d54 100644 --- a/app/src/main/java/to/bitkit/ui/onboarding/TermsOfUseScreen.kt +++ b/app/src/main/java/to/bitkit/ui/onboarding/TermsOfUseScreen.kt @@ -135,7 +135,6 @@ private fun TermsText( } } - @Preview(showSystemUi = true) @Composable private fun TermsPreview() {