From fd4f7bb096e2d80231720c70e8aa049a86fc60f8 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 25 Jun 2026 18:58:14 +0000 Subject: [PATCH] Re-attempt display of queued IAMs when unpausing Setting InAppMessages.Paused = false re-evaluated triggers but never drained messages already queued while paused, so they stayed parked in messageDisplayQueue until the next session boundary. The unpause branch of the paused setter now also calls attemptToShowInAppMessage() to drain the existing queue before re-evaluating triggers. Fixes #2647 --- .../onesignal/inAppMessages/internal/InAppMessagesManager.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/InAppMessagesManager.kt b/OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/InAppMessagesManager.kt index cc42e2371..2bcebe939 100644 --- a/OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/InAppMessagesManager.kt +++ b/OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/InAppMessagesManager.kt @@ -189,6 +189,9 @@ internal class InAppMessagesManager( if (!value) { suspendifyOnDefault { + // Drain any messages that were queued but blocked from displaying while paused, + // then re-evaluate triggers in case new messages now qualify. + attemptToShowInAppMessage() evaluateInAppMessages() } }