task: sync react-native ← Android corev8.3.0 + iOS 7.7.1 (rn-example-trace-1)#3
Open
clevertap-wrapper-sync[bot] wants to merge 1 commit into
Conversation
Android: core 8.3.0 iOS: core 7.7.1 Auto-generated by clevertap-wrapper-sync via clevertap-wrapper-tooling. Co-Authored-By: Claude <noreply@anthropic.com>
clevertap-wrapper-sync
Bot
requested a review
from piyush-kukadiya
as a code owner
June 11, 2026 08:15
Author
|
Total tokens: 50735. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sync react-native ← Android corev8.3.0 + iOS 7.7.1 (rn-example-trace-1)
🤖 Auto-generated by
clevertap-wrapper-syncviaclevertap-wrapper-tooling.getDisplayUnitForID(native v8.3.0) —getAllDisplayUnits()andgetDisplayUnitForID()now route through the newDisplayUnitCache; the wrapper's existinggetDisplayUnitForId()calls this internally — behavior change only, no API surface change needed.App Inbox Cross-Device Sync — Notification Viewed/Clicked deduplication(native v8.2.0) — Rapid duplicate Notification Viewed/Clicked events for the same inbox message are now automatically suppressed; host apps relying on receiving duplicate events for the same message may see a behavior change.App Inbox pull-to-refresh throttle (swiperefreshlayout dependency added)(native v8.2.0) —androidx.swiperefreshlayout:swiperefreshlayout:1.1.0is now a transitive implementation dependency; host apps using ProGuard/R8 should be aware of this new transitive dependency.recordInboxNotificationViewedEvent ordering with markReadInboxMessage(native v7.7.0) — For custom inbox implementations,recordInboxNotificationViewedEvent(messageId)must be called beforemarkReadInboxMessage(messageId); reverse order silently drops the Viewed event.Notification Viewed deduplication for cross-device-synced read messages(native v7.7.0) — For accounts with App Inbox Cross-Device Sync enabled, a Notification Viewed event is not raised for messages already read on another device.Version pins bumped
clevertap-android-sdk8.1.0 → 8.3.0 (android/build.gradle,docs/install.md)CleverTap-iOS-SDK7.6.0 → 7.7.1Release prep
docs/usage.md— entries added for:fetchInbox,pushDisplayUnitElementClickedEventForIDdocs/install.md— Android pin bumped to 8.3.0fetchInbox,pushDisplayUnitElementClickedEventForIDAndroid sync
Surfaced (2)
CleverTap.fetchInbox()— Overload pair (fetchInbox()/fetchInbox(FetchInboxCallback)) surfaced as a single JS method with optional callback per codebase pattern; callback delivers a boolean success/failure result.CleverTap.pushDisplayUnitElementClickedEventForID()— Host-facing void method recording a Notification Clicked event for a specific element in a Display Unit;additionalPropertiesmap bridges viaReadableMap/eventPropsFromReadableMap.Skipped (1)
setDisplayUnitCache— SDK-to-SDK integration API requiring a native Java interface implementation (DisplayUnitCache); no meaningful JS representation.Deferred for design review (0)
Build manifest propagated
clevertap-android-sdkpin from 8.1.0 to 8.3.0 (android/build.gradle,docs/install.md)iOS sync
Surfaced (2)
CleverTap.fetchInbox()— NewfetchInboxWithCallback:inCleverTap+Inbox.hmapped to the existing JS wrapper; optional-callback overload pattern (nil → fire-and-forget, callback → success boolean). (ios/CleverTapReact/CleverTapReact.mm)CleverTap.pushDisplayUnitElementClickedEventForID()— NewrecordDisplayUnitElementClickedEventForID:additionalProperties:inCleverTap+DisplayUnit.hmapped to the existing JS method;RCT_EXPORT_METHODadded to iOS bridge. (ios/CleverTapReact/CleverTapReact.mm)Skipped (17)
addV2MessageIds:— InternalCTInboxControllermethod.buildInboxMessageStateEvent:forMessage:isV2Message:andQueryParameters:completionHandler:— InternalCTEventBuilderstatic method.deleteAbsentPersistentV2MessagesFromResponseIds:— InternalCTInboxControllermethod.inboxV2DeleteMessagesRequestWithConfig:params:url:— InternalCTRequestFactorystatic method.inboxV2FetchRequestWithConfig:params:url:— InternalCTRequestFactorystatic method.inboxViewControllerDidRequestRefreshWithCallback:— PrivateCleverTapInboxViewControllerPrivateprotocol method.inboxViewControllerGetMessages— PrivateCleverTapInboxViewControllerPrivateprotocol method.inboxViewControllerIsInboxV2Enabled— PrivateCleverTapInboxViewControllerPrivateprotocol method.isV2MessageId:— InternalCTInboxControllermethod.performExpiryPurge— InternalCTInboxControllermethod.removeV2MessageId:— InternalCTInboxControllermethod.swizzleWillPresentOnClass:— InternalCTSwizzleManagerhelper.setDisplayUnitCache:— SDK-to-SDK integration point; takes aCleverTapDisplayUnitCacheprotocol object with no meaningful JS representation.getAllDisplayUnits (nullability change)— Return type changed from_Nonnullto_Nullable; ObjC for-in over nil is safe so existing bridge handles this gracefully — no code change needed.getDisplayUnitForID: (duplicate format variant)— Two equivalent header spellings of the same existing method; no semantic change.buildInboxMessageStateEvent:forMessage:andQueryParameters:completionHandler: (removed)— Removed internalCTEventBuildermethod; not part of the public RN bridge.displayUnitsDidUpdate (removed)— Removed internalCTDisplayUnitControllermethod; not part of the public RN bridge.Deferred for design review (1)
handleWillPresentNotification:withDefaultOptions:completionHandler:— Takes a nativeUNNotificationobject; not representable in JS — must be called from the host app's nativeUNUserNotificationCenterDelegate willPresent:implementation. Next step: host apps using manual (non-autoIntegrate) integration must call this from their native AppDelegate to enable silent-in-foreground push.Build manifest propagated
(none)
CHANGELOG entries added
iOS —
## [Unreleased]v4.2.0 section updated: bumped iOS SDK to v7.7.1; added App Inbox Cross-Device Sync and Native Display Element Click feature bullets (symmetrized with Android); added silent-in-foreground push bullet (iOS-only); updated API changes section heading from[Android Platform]to[Android and iOS Platform]forfetchInboxandpushDisplayUnitElementClickedEventForID.Native CHANGELOG entries (reviewer reference)
Android — corev8.3.0
Version 8.3.0 (June 2026)
New Features
pushDisplayUnitElementClickedEventForID(String unitID, HashMap<String, Object> additionalProperties)onCleverTapAPIrecords aNotification Clickedevent for a specific element within a Display Unit. Caller-suppliedadditionalProperties(includingwzrk_element_idfrom the action'smetadata) are merged first, then enriched with cachedwzrk_*attribution fields from the unit — giving finer-grained click analytics for Native Display experiences.DisplayUnitCacheandsetDisplayUnitCache(DisplayUnitCache)onCleverTapAPIlet external SDKs (e.g. the Native Display SDK) inject a custom display-unit store.getAllDisplayUnits()andgetDisplayUnitForID()now route through this cache. The default implementation (CTDisplayUnitController) remains active when no override is installed.Android — intermediate corev8.2.0
Version 8.2.0 (May 20, 2026)
New Features
CleverTapAPIto complement this with on-demand refresh support:fetchInbox()— triggers an inbox refresh from the server (fire-and-forget).fetchInbox(FetchInboxCallback)— same as above, but invokes the callback with a success/failure result when the fetch completes. The callback fires on the SDK's network thread, not the main thread.showAppInbox()) now includes a pull-to-refresh gesture. Manual inbox fetches — including those triggered byfetchInbox()— are throttled to once every 5 minutes between consecutive calls.Notification ViewedandNotification Clickedevents for the same inbox message are now automatically suppressed to prevent analytics inflation. Additionally, aNotification Viewedevent is not raised for messages that have already been read on another device.pushInboxNotificationViewedEvent(messageId)is called when a message becomes visible to the user, before callingmarkReadInboxMessage(messageId)— calling them in reverse order will silently drop the Viewed event.Notification Viewedcontinues to be raised regardless of read state, preserving existing behaviour.iOS — corev7.7.1
Version 7.7.1 (June 04, 2026)
Added
wzrk_sif:truekey-value pair in the push payload.willPresentofUNUserNotificationCenterDelegateis implemented.handleWillPresentNotification:which handles a UNNotification in the foreground to support silent-in-foreground behaviour when using manual SDK integration (i.e. withoutautoIntegrate). This should be called from your methodwillPresentofUNUserNotificationCenterDelegateand is not required when usingautoIntegrate.recordDisplayUnitElementClickedEventForID:which records aNotification Clickedevent for a specific element within a Display Unit.setDisplayUnitCache:which lets external SDKs (e.g. the CleverTap Native Display SDK) inject a custom Display Unit store.Fixed
iOS — intermediate corev7.7.0
Version 7.7.0 (May 19, 2026)
New Features
fetchInbox()— triggers an inbox refresh from the server (fire-and-forget).fetchInbox(callback:)— same as above, but invokes the callback with a success/failure result when the fetch completes.fetchInbox()— are throttled to once every 5 minutes between consecutive calls.Notification ViewedandNotification Clickedevents for the same inbox message are now automatically suppressed to prevent analytics inflation. Additionally, aNotification Viewedevent is not raised for messages that have already been read on another device.recordInboxNotificationViewedEvent(messageId)is called when a message becomes visible to the user, before callingmarkReadInboxMessage(messageId)— calling them in reverse order will silently drop the Viewed event.Notification Viewedcontinues to be raised regardless of read state, preserving existing behaviour.Fixed
CTInAppEvaluationManagercorrupting NSUserDefaults.Run metadata
For the reviewer
This PR is auto-generated. Please: