From 8c01ec364c69b528f4c644312b334ba8ada513ff Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Thu, 14 Aug 2025 17:25:06 +0800 Subject: [PATCH] :loud_sound: Add more logging to push notification --- DysonNetwork.Pusher/Notification/PushService.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/DysonNetwork.Pusher/Notification/PushService.cs b/DysonNetwork.Pusher/Notification/PushService.cs index 4b4f011..c56e4d1 100644 --- a/DysonNetwork.Pusher/Notification/PushService.cs +++ b/DysonNetwork.Pusher/Notification/PushService.cs @@ -156,8 +156,8 @@ public class PushService // Pushing the notification var subscribers = await _db.PushSubscriptions .Where(s => s.AccountId == notification.AccountId) + .AsNoTracking() .ToListAsync(); - await _PushNotification(notification, subscribers); } @@ -208,6 +208,7 @@ public class PushService var subscribers = await _db.PushSubscriptions .Where(s => accounts.Contains(s.AccountId)) + .AsNoTracking() .ToListAsync(); await _PushNotification(notification, subscribers); } @@ -245,7 +246,7 @@ public class PushService notification.Content ?? string.Empty).Trim(); } - await _fcm.SendAsync(new Dictionary + var fcmResult = await _fcm.SendAsync(new Dictionary { ["message"] = new Dictionary { @@ -263,6 +264,9 @@ public class PushService } } }); + + if (fcmResult.Error != null) + throw new Exception($"Notification pushed failed ({fcmResult.StatusCode}) {fcmResult.Error}"); break; case PushProvider.Apple: @@ -290,13 +294,16 @@ public class PushService ["meta"] = notification.Meta }; - await _apns.SendAsync( + var apnResult = await _apns.SendAsync( payload, deviceToken: subscription.DeviceToken, apnsId: notification.Id.ToString(), apnsPriority: notification.Priority, apnPushType: ApnPushType.Alert ); + if (apnResult.Error != null) + throw new Exception($"Notification pushed failed ({apnResult.StatusCode}) {apnResult.Error}"); + break; default: