From b4436387caee67ee0fd71b349fc1192b0bb3213c Mon Sep 17 00:00:00 2001 From: GhanshyamJha Date: Thu, 22 Jan 2026 19:34:05 +0530 Subject: [PATCH 1/2] feat: use metadata.comment as fallback for push notification description --- assets/android/MessagingService.kt | 5 ++++- assets/ios/NotificationService.m | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/assets/android/MessagingService.kt b/assets/android/MessagingService.kt index af0c68e..09855a8 100644 --- a/assets/android/MessagingService.kt +++ b/assets/android/MessagingService.kt @@ -160,7 +160,10 @@ class MessagingService : FirebaseMessagingService(), OnInitListener { val bitcoinDisplayMode = getBitcoinDisplayModeFromPreferences(this) val formattedAmount = if (bitcoinDisplayMode == "bip177") "₿ $amount" else "$amount sats" - val descriptionText = notification.optString("description", "") + var descriptionText = notification.optString("description", "") + if (descriptionText.isEmpty()) { + descriptionText = notification.optJSONObject("metadata")?.optString("comment", "") ?: "" + } val hasDescription = descriptionText.isNotEmpty() val action = when (notificationType) { diff --git a/assets/ios/NotificationService.m b/assets/ios/NotificationService.m index 33e6066..8a6e0bf 100644 --- a/assets/ios/NotificationService.m +++ b/assets/ios/NotificationService.m @@ -149,6 +149,12 @@ - (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withConte NSString *formattedAmount = isBip177 ? [NSString stringWithFormat:@"₿ %.0f", amountInSats] : [NSString stringWithFormat:@"%.0f sats", amountInSats]; NSString *descriptionText = notificationDict[@"description"]; + if (![descriptionText isKindOfClass:[NSString class]] || descriptionText.length == 0) { + NSDictionary *metadata = notificationDict[@"metadata"]; + if ([metadata isKindOfClass:[NSDictionary class]]) { + descriptionText = metadata[@"comment"]; + } + } BOOL hasDescription = [descriptionText isKindOfClass:[NSString class]] && descriptionText.length > 0; NSString *notificationTitle = [notificationType isEqualToString:@"hold_invoice_accepted"] From aa24cc13de25239e56ad3becf3c9255e7a4595ff Mon Sep 17 00:00:00 2001 From: Ghanshyam Jha <168712839+GhanshyamJha05@users.noreply.github.com> Date: Fri, 23 Jan 2026 11:11:50 +0530 Subject: [PATCH 2/2] Improve description text handling in MessagingService --- assets/android/MessagingService.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/assets/android/MessagingService.kt b/assets/android/MessagingService.kt index 09855a8..6478712 100644 --- a/assets/android/MessagingService.kt +++ b/assets/android/MessagingService.kt @@ -161,8 +161,11 @@ class MessagingService : FirebaseMessagingService(), OnInitListener { val formattedAmount = if (bitcoinDisplayMode == "bip177") "₿ $amount" else "$amount sats" var descriptionText = notification.optString("description", "") - if (descriptionText.isEmpty()) { - descriptionText = notification.optJSONObject("metadata")?.optString("comment", "") ?: "" + if (descriptionText.isBlank() || descriptionText == "null") { + descriptionText = notification.optJSONObject("metadata") + ?.optString("comment", "") + ?.takeIf { it.isNotBlank() && it != "null" } + ?: "" } val hasDescription = descriptionText.isNotEmpty()