Repository navigation
v9.2.1
Fixed
-
iOS: PRESS events from notification taps while the app was in background were incorrectly routed to
onForegroundEventinstead ofonBackgroundEvent. Three issues were addressed insendNotifeeCoreEvent:(NotifeeApiModule.mm):- A
dispatch_after(1 second)delay introduced during the TurboModule migration (9.1.0, commit 7082401) causedUIApplication.applicationStateto be checked 1 second after the delegate callback — by which time iOS had already transitioned the app to Active, making the background branch unreachable - The condition
== UIApplicationStateBackgroundwas incorrect because iOS reportsInactive(notBackground) at the moment of a notification tap from background — changed to!= UIApplicationStateActive applicationStatewas being read on a background thread (UNUserNotificationServiceConnectionqueue), violating UIKit's main-thread requirement — wrapped indispatch_async(dispatch_get_main_queue())
The existing two-tier event queue (
NotifeeCoreDelegateHolder._pendingEvents+pendingCoreEvents) already handles the "JS not ready" case, so the delay was redundant.Known limitation: non-tap events (DELIVERED, TRIGGER_NOTIFICATION_CREATED, DISMISSED) emitted while the app is momentarily in Inactive state for unrelated reasons — Control Center open, incoming call — will be routed to the background handler. In practice this is uncommon because these events originate from contexts where the app is typically Active. If you rely on strict foreground delivery for non-tap events, check
AppState.currentStatein your handler. (#5) - A
Full Changelog: v9.2.0...v9.2.1