From 35ecbd93245633168e23ab210c15c252b61ba9b5 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Fri, 6 Jun 2025 18:06:46 +0200 Subject: [PATCH] Log the push resolving failure reason if available (#4835) --- .../push/impl/push/DefaultPushHandler.kt | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/push/DefaultPushHandler.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/push/DefaultPushHandler.kt index b3ff001031..a426cdcf42 100644 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/push/DefaultPushHandler.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/push/DefaultPushHandler.kt @@ -75,21 +75,34 @@ class DefaultPushHandler @Inject constructor( for (request in requests) { // Log the result of the push notification event val result = resolvedEvents[request] - if (result?.isSuccess == true) { - pushHistoryService.onSuccess( - providerInfo = request.providerInfo, - eventId = request.eventId, - roomId = request.roomId, - sessionId = request.sessionId, - comment = "Push handled successfully", - ) - } else { + if (result == null) { pushHistoryService.onUnableToResolveEvent( providerInfo = request.providerInfo, eventId = request.eventId, roomId = request.roomId, sessionId = request.sessionId, - reason = "Push not handled", + reason = "Push not handled: no result found for request", + ) + } else { + result.fold( + onSuccess = { + pushHistoryService.onSuccess( + providerInfo = request.providerInfo, + eventId = request.eventId, + roomId = request.roomId, + sessionId = request.sessionId, + comment = "Push handled successfully", + ) + }, + onFailure = { exception -> + pushHistoryService.onUnableToResolveEvent( + providerInfo = request.providerInfo, + eventId = request.eventId, + roomId = request.roomId, + sessionId = request.sessionId, + reason = exception.message ?: exception.javaClass.simpleName, + ) + } ) } }