task: sync react-native ← Android corev8.3.0 + iOS 7.7.1 (rn-final-1)#4
Open
clevertap-wrapper-sync[bot] wants to merge 1 commit into
Open
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 09:23
Author
|
Total tokens: 41616. |
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-final-1)
🤖 Auto-generated by
clevertap-wrapper-syncviaclevertap-wrapper-tooling.handleWillPresentNotification:withDefaultOptions:completionHandler:(native v7.7.1) — New method for manual SDK integration (non-autoIntegrate apps) to handle silent-in-foreground push viawillPresentdelegate; host apps using manual integration must add this call to theirAppDelegate.m/AppDelegate.swift.wzrk_sif silent-in-foreground push(native v7.7.1) — New push payload keywzrk_sif:truesuppresses foreground notification heads-up; no RN SDK code change required, but manual-integration host apps must implementwillPresentand callhandleWillPresentNotification:.Inbox Viewed/Clicked event deduplication(native v7.7.0) — Rapid duplicate events now suppressed automatically; custom inbox implementations must callrecordInboxNotificationViewedEvent/pushInboxNotificationViewedEventbeforemarkReadInboxMessage— reversed order silently drops the Viewed event.Version pins bumped
clevertap-android-sdk8.1.0 → 8.3.0CleverTap-iOS-SDK7.6.0 → 7.7.1Release prep
fetchInbox(callback?)andpushDisplayUnitElementClickedEventForID; no breaking changes, minSdk unchanged)docs/usage.md— entries added for:fetchInbox,pushDisplayUnitElementClickedEventForIDdocs/install.md— Android pin bumped to 8.3.0CHANGELOG.md— iOS changelog entry addedfetchInbox,pushDisplayUnitElementClickedEventForID(both added via Android sync; iOS sync added only the native bridge wiring inCleverTapReact.mm)Android sync
Surfaced (2)
CleverTap.fetchInbox()— overload pair (fetchInbox()+fetchInbox(FetchInboxCallback)) surfaced as a single JS method with optional callback; callback delivers a boolean success flag.CleverTap.pushDisplayUnitElementClickedEventForID(unitID, additionalProperties)— new public API for fine-grained click analytics on Display Unit elements; args areunitID(string) andadditionalProperties(object).Skipped (1)
getDisplayUnitForID(changelog-only) — already exists in JS wrapper asgetDisplayUnitForId; changelog note is a behavior change only (now routes through cache), no new API surface needed.Deferred for design review (1)
setDisplayUnitCache— takes aDisplayUnitCacheJava interface; there is no meaningful way to implement a Java interface from JS. (next_step: invokeclevertap-react-native-backfill-missing-coverageskill)Build manifest propagated
clevertap-android-sdkpin 8.1.0 → 8.3.0 (android/build.gradle,docs/install.md)androidx.swiperefreshlayout:swiperefreshlayout:1.1.0added to native SDK's version catalog — internal dependency of the pull-to-refresh feature; consumed transitively, no change needed in the RN SDK'sbuild.gradle.iOS sync
Surfaced (2)
CleverTap.fetchInbox()— newfetchInboxWithCallback:overload added in 7.7.0; JS layer already present from Android sync;RCT_EXPORT_METHODwired inCleverTapReact.mm.CleverTap.pushDisplayUnitElementClickedEventForID(unitID, additionalProperties)— newrecordDisplayUnitElementClickedEventForID:additionalProperties:added in 7.7.1; JS layer already present from Android sync;RCT_EXPORT_METHODwired inCleverTapReact.mm.Skipped (19)
handleWillPresentNotification:withDefaultOptions:completionHandler:— app delegate lifecycle hook; must be called from nativeAppDelegate, not bridgeable as a JS method.addV2MessageIds:— internalCTInboxControllermethod, not on the publicCleverTapinstance interface.buildInboxMessageStateEvent:forMessage:isV2Message:andQueryParameters:completionHandler:— internalCTEventBuilderstatic method, not public API.deleteAbsentPersistentV2MessagesFromResponseIds:— internalCTInboxControllermethod.inboxV2DeleteMessagesRequestWithConfig:params:url:— internalCTRequestFactorynetworking method.inboxV2FetchRequestWithConfig:params:url:— internalCTRequestFactorynetworking method.inboxViewControllerDidRequestRefreshWithCallback:— private view controller protocol method (CleverTapInboxViewControllerPrivate.h).inboxViewControllerGetMessages— private view controller protocol method.inboxViewControllerIsInboxV2Enabled— private view controller protocol method.isV2MessageId:— internalCTInboxControllerhelper.performExpiryPurge— internalCTInboxControllermaintenance method.removeV2MessageId:— internalCTInboxControllerhelper.swizzleWillPresentOnClass:— internalCTSwizzleManagermethod, not a host-app API.getAllDisplayUnits(CHANGED) — nullability annotation tightened (_Nonnull→nullable); no JS API change needed.getDisplayUnitForID:(CHANGED) — additional header declaration; effective signature unchanged.initWithAccountId:guid:(CHANGED) — internalCTDisplayUnitControllerinitializer; not public RN API.updateDisplayUnits:(CHANGED) — internalCTDisplayUnitControllermethod; parameter type refinement not user-facing.buildInboxMessageStateEvent:forMessage:andQueryParameters:completionHandler:(REMOVED) — internalCTEventBuildermethod replaced byisV2Messageoverload; never exposed in RN SDK.displayUnitsDidUpdate(REMOVED) — internalCTDisplayUnitControllermethod; never exposed in RN SDK.Deferred for design review (1)
setDisplayUnitCache:— takesid<CleverTapDisplayUnitCache>, a native Objective-C protocol JS callers cannot implement; requires native SDK-to-SDK integration design. (next_step: invokeclevertap-react-native-backfill-missing-coverageskill)Build manifest propagated
(none)
CHANGELOG entries added
fetchInbox(callback?)for on-demand inbox refresh andpushDisplayUnitElementClickedEventForID(unitID, additionalProperties)for element-level click analytics.fetchInbox(callback?)andpushDisplayUnitElementClickedEventForIDon iOS bridge; App Inbox Cross-Device Sync; silent-in-foreground push support.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 — 7.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 7.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.recordInboxNotificationViewedEvent(messageId)is called beforemarkReadInboxMessage(messageId)— reversed order silently drops the Viewed event.Fixed
CTInAppEvaluationManagercorrupting NSUserDefaults.Run metadata
For the reviewer
This PR is auto-generated. Please: