Repository navigation
10.6.0
Added
- Android:
getNotificationSettings().android.fullScreenIntentnow reports whether the app currently has the Android access required to use full-screen intents. API < 29 reportsENABLED, API 29–33 reflectsUSE_FULL_SCREEN_INTENT, and API 34+ reflects Android's full-screen intent special app access.ENABLEDdoes not guarantee that a particular notification will be presented full-screen.
Fixed
-
Android: fixed a failure path that could drop
MessagingStylenotifications whenPersonresolution timed out or an icon could not be loaded or created. These recoverable failures now use an icon-less fallback that preserves the remainingPersonfields and allows notification construction to continue. -
Android: fixed validation in the React Native client and Server SDK so duplicate
pressAction.idvalues within a single notification'sandroid.actionsarray are rejected, preventing ambiguous action configurations. -
Android: fixed notification image handling so Fresco-owned bitmaps are copied before leaving
BaseBitmapDataSubscriber, preventing later notification build, drawing, or parceling paths from depending on Fresco's bitmap lifetime. -
Android: fixed
ReceiverServicePendingIntentidentity collisions across app process restarts that could cause action buttons or dismiss/delete intents on older live notifications to receive another notification's payload when multiple notifications remained in the tray. -
iOS / Communication Notifications: valid
file://sender avatars now display their image instead of a placeholder, and HTTPS group avatars are now materialized before the communication intent is built in both direct and Notification Service Extension (NSE) paths.
Tests
-
Android: added deterministic regression coverage for
MessagingStylePersontimeouts and icon failures, verifying an icon-less fallback that preserves the remainingPersonfields while unexpected person-construction failures continue to propagate. -
Android: added deterministic Robolectric regression coverage for Fresco bitmap ownership, verifying that the source bitmap can be released while the bitmap returned by
ResourceUtilsremains independent and usable. -
Android: added Robolectric coverage for full-screen intent access before API 29, permission grant and denial on API 29–33, and platform access results on API 34+.
-
Android: added deterministic Robolectric regression coverage for
ReceiverServicePendingIntentidentity and a physical-device smoke harness covering a notification surviving a process restart, a second notification posted from the new process, real action-button presses, and real dismiss routing; the device scenarios were validated on a Pixel 9 Pro XL running Android 17/API 37. -
iOS: added harness coverage for avatar resolution and materialization in Communication Notifications, deadline and media-cutoff handling, and one-shot NSE completion; physical-device validation covered valid
file://sender avatars, HTTPS group avatars in direct and NSE paths, and HTTPS sender regression paths.
📦 npm: https://www.npmjs.com/package/react-native-notify-kit/v/10.6.0