task: sync react-native ← Android corev8.3.0 + iOS 7.7.1 (rn-full-1)#2
Open
clevertap-wrapper-sync[bot] wants to merge 1 commit into
Open
task: sync react-native ← Android corev8.3.0 + iOS 7.7.1 (rn-full-1)#2clevertap-wrapper-sync[bot] wants to merge 1 commit into
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>
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-full-1)
🤖 Auto-generated by
clevertap-wrapper-syncviaclevertap-wrapper-tooling.getDisplayUnitForID / getAllDisplayUnits(native v8.3.0) — Both methods now route through the injectedDisplayUnitCacherather than the default controller; no JS API change required, but behavior shifts for apps that callsetDisplayUnitCachefrom native code.Inbox Viewed / Clicked event deduplication(native v8.2.0 / v7.7.0) — Rapid duplicate Notification Viewed/Clicked events for the same inbox message are now suppressed automatically; custom inbox implementations must callpushInboxNotificationViewedEvent/recordInboxNotificationViewedEventForIDbeforemarkReadInboxMessageor the Viewed event is silently dropped.Pull-to-refresh in built-in App Inbox (showAppInbox)(native v8.2.0) — The built-in inbox view gains pull-to-refresh (throttled to 5 min); automatically disabled for accounts not enabled for Cross-Device Sync. No API change needed.wzrk_sif silent-in-foreground push(native v7.7.1) — Works automatically withautoIntegrate; apps using manual SDK integration must addhandleWillPresentNotification:withDefaultOptions:completionHandler:from theirAppDelegate— a native-only step not surfaced via JS.Version pins bumped
clevertap-android-sdk8.1.0 → 8.3.0 (android/build.gradle,docs/install.md)Release prep
fetchInbox(callback?)andpushDisplayUnitElementClickedEventForID(unitID, props); no breaking changes, no required-parameter additions, no minSdk change)docs/usage.md— entries added for:fetchInbox,pushDisplayUnitElementClickedEventForIDdocs/install.md— Android pin bumped to 8.3.0Android sync
Surfaced (2)
fetchInbox()/fetchInbox(callback)— Overload pair handled via single JS method with optional callback; callback receives(null, boolean)wheretrue= success.pushDisplayUnitElementClickedEventForID(unitID, additionalProperties)— Records aNotification Clickedevent for a specific Display Unit element;HashMap<String,Object>maps cleanly to JS object /ReadableMap.Skipped (1)
setDisplayUnitCache— Takes aDisplayUnitCacheJava interface that cannot be implemented from JS; SDK-to-SDK integration point for native SDKs, not a host-app API.Deferred for design review (0)
Build manifest propagated
clevertap-android-sdkpin 8.1.0 → 8.3.0 (android/build.gradle,docs/install.md)versionCode410 → 420,versionName4.1.0 → 4.2.0 (android/build.gradle)iOS sync
Surfaced (2)
fetchInbox—fetchInboxWithCallback:added in 7.7.0; iOS bridge maps to it with an optional callback; JS layer was already present from the Android sync.pushDisplayUnitElementClickedEventForID—recordDisplayUnitElementClickedEventForID:additionalProperties:added in 7.7.1; iOS bridge added to match the Android sync's JS method of the same name.Skipped (13)
handleWillPresentNotification:withDefaultOptions:completionHandler:— AppDelegate-level static method forUNUserNotificationCenterDelegate; silent-in-foreground feature is transparent to JS callers.setDisplayUnitCache:— Acceptsid<CleverTapDisplayUnitCache>Objective-C protocol; designed for native SDK injection, not bridgeable from JS.getAllDisplayUnits(nullability change) — Return type changed from_Nonnullto_Nullable; existing JS bridge already handles nil gracefully.addV2MessageIds: / deleteAbsentPersistentV2MessagesFromResponseIds: / isV2MessageId: / performExpiryPurge / removeV2MessageId:— InternalCTInboxController.hmethods; not part of the host-app public API.buildInboxMessageStateEvent:forMessage:isV2Message:andQueryParameters:completionHandler:(added) — InternalCTEventBuilder.hstatic method; not part of the host-app public API.inboxV2DeleteMessagesRequestWithConfig:params:url: / inboxV2FetchRequestWithConfig:params:url: / swizzleWillPresentOnClass:— InternalCTRequestFactory.handCTSwizzleManager.hmethods; not part of the host-app public API.inboxViewControllerDidRequestRefreshWithCallback: / inboxViewControllerGetMessages / inboxViewControllerIsInboxV2Enabled—CleverTapInboxViewControllerPrivate.hmethods; private API.buildInboxMessageStateEvent:forMessage:andQueryParameters:completionHandler:(removed) — InternalCTEventBuilder.hstatic method; removal does not affect the public JS bridge.displayUnitsDidUpdate(removed) — InternalCTDisplayUnitController.hmethod; not exposed in JS bridge.updateDisplayUnits:(parameter type change) — InternalCTDisplayUnitController.hmethod; not exposed in JS bridge.initWithAccountId:guid:(nullability change) — InternalCTDisplayUnitController.hinitializer; not exposed in JS bridge.getDisplayUnitForID:(nullability change) — Nullability annotation alignment only; existing JS bridge behaviour unchanged.Deferred for design review (0)
Build manifest propagated
(none)
CHANGELOG entries added
Android:
iOS:
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.Notification ViewedandNotification Clickedevents for the same inbox message are now automatically suppressed.recordInboxNotificationViewedEvent(messageId)is called beforemarkReadInboxMessage(messageId)— calling them in reverse order will silently drop the Viewed event.Fixed
CTInAppEvaluationManagercorrupting NSUserDefaults.Run metadata
For the reviewer
This PR is auto-generated. Please: