Repository navigation
v9.1.12
Changed
- Android: Changed default AlarmType from
SET_EXACTtoSET_EXACT_AND_ALLOW_WHILE_IDLEfor better Doze mode compatibility (invertase/notifee#961) - Android: AlarmManager is now the default backend for trigger notifications instead of WorkManager, ensuring reliable delivery when the app is killed. Developers can opt out with
alarmManager: falsein the trigger config. (invertase/notifee#961)
Fixed
Android
- Fixed
getNotificationSettings()returningDENIEDinstead ofNOT_DETERMINEDon Android 13+ before the user has responded to thePOST_NOTIFICATIONSpermission dialog — now usesSharedPreferencesto track whetherrequestPermission()has been called (invertase/notifee#1237) - Fixed trigger notifications not firing on Android 14-15 when app is killed — added
goAsync()toNotificationAlarmReceiver,RebootBroadcastReceiver, andAlarmPermissionBroadcastReceiverto prevent process termination before async notification display completes (invertase/notifee#1100) - Fixed
ContextHoldernot initialized inNotificationAlarmReceiver, causing potentialNullPointerExceptionon OEM Android 14+ implementations whereInitProvidermay not run before alarm receivers - Fixed
SCHEDULE_EXACT_ALARMpermission denial silently dropping scheduled alarms — now falls back to inexact alarm viasetAndAllowWhileIdlewith a warning log - Added
SecurityExceptioncatch aroundAlarmManagerscheduling calls — if exact alarm permission is revoked between check and call, falls back to inexact alarm instead of crashing - Fixed potential NPE in alarm scheduling when
PendingIntentcreation fails - Fixed
getInitialNotification()returningnullwhen notification has nopressActionconfigured —InitialNotificationEventsticky event is now posted regardless ofpressActionpresence (invertase/notifee#1128) - Added event buffering in
NotifeeReactUtilsto prevent foreground press events from being silently dropped when React instance is not yet ready (invertase/notifee#1279) - Fixed
AlarmType.SETusingRTCinstead ofRTC_WAKEUP, which prevented the device from waking to show the notification (invertase/notifee#961)
iOS
- Fixed
getInitialNotification()returningnullon cold start due to deprecatedUIApplicationLaunchOptionsLocalNotificationKeycheck (invertase/notifee#1128) - Added
setNotificationConfig({ ios: { handleRemoteNotifications: false } })opt-out flag to prevent Notifee from intercepting remote notification tap handlers — restoresonNotificationOpenedApp()andgetInitialNotification()for React Native Firebase Messaging (invertase/notifee#912) - Fixed
completionHandlernot being called on notification dismiss path indidReceiveNotificationResponse:, preventing potential handler leaks - Fixed
completionHandlernot being called inwillPresentNotification:fallback path when no original delegate is available - Added missing
returnafter forwarding to_originalDelegateindidReceiveNotificationResponse:default path, preventing potential fall-through toparseUNNotificationRequest
Full Changelog: https://github.com/marcocrupi/react-native-notify-kit/blob/main/CHANGELOG.md
yarn add react-native-notify-kit@9.1.12