Skip to content

task: sync react-native ← Android corev8.3.0 + iOS 7.7.1 (rn-srcverify-1)#6

Open
clevertap-wrapper-sync[bot] wants to merge 1 commit into
task/setup-sync-automationfrom
task/release_rn-srcverify-1
Open

task: sync react-native ← Android corev8.3.0 + iOS 7.7.1 (rn-srcverify-1)#6
clevertap-wrapper-sync[bot] wants to merge 1 commit into
task/setup-sync-automationfrom
task/release_rn-srcverify-1

Conversation

@clevertap-wrapper-sync

Copy link
Copy Markdown

Sync react-native ← Android corev8.3.0 + iOS v7.7.1 (rn-srcverify-1)

🤖 Auto-generated by clevertap-wrapper-sync via clevertap-wrapper-tooling.

⚠️ Flagged for review — NOT auto-applied

  • 🔁 Behavior: getDisplayUnitForID (native v8.3.0) — getAllDisplayUnits() and getDisplayUnitForID() now route through the injected DisplayUnitCache; no signature change and existing JS wrapper is unaffected — no action required unless custom cache integration is needed.
  • 🔁 Behavior: handleWillPresentNotification:withDefaultOptions:completionHandler: / wzrk_sif silent-in-foreground (native v7.7.1) — Host apps using manual SDK integration (without autoIntegrate) must call [CleverTap handleWillPresentNotification:withDefaultOptions:completionHandler:] from their UNUserNotificationCenterDelegate's willPresent(_:with:) to enable silent-in-foreground push. Cannot be exposed via JS bridge; host app AppDelegate update required.
  • 🔁 Behavior: Inbox Viewed/Clicked event deduplication (native v7.7.0) — Rapid duplicate Notification Viewed/Notification Clicked events for the same inbox message are now automatically suppressed. Custom inbox implementations must call recordInboxNotificationViewedEvent before markReadInboxMessage — reversed order silently drops the Viewed event.

Version pins bumped

  • Android: clevertap-android-sdk 8.1.08.3.0
  • iOS: CleverTap-iOS-SDK 7.6.07.7.1

Release prep

  • Wrapper version: 4.1.0 → 4.2.0 (minor — adds two new public APIs with no breaking changes)
  • libVersion: 40100 → 40200
  • Docs updated:
    • docs/usage.md — entries added for: fetchInbox, pushDisplayUnitElementClickedEventForID
    • docs/install.md — Android pin bumped to 8.3.0
  • Example demos added: fetchInbox, pushDisplayUnitElementClickedEventForID

Android sync

Surfaced (2)

  • CleverTap.fetchInbox(callback?) — New public overload pair (no-arg + FetchInboxCallback) for on-demand App Inbox refresh; surfaced as a single JS method with optional callback following the established overload pattern.
  • CleverTap.pushDisplayUnitElementClickedEventForID(unitID, additionalProperties) — New public API for finer-grained click analytics on individual elements within a Native Display unit; explicitly documented in the 8.3.0 changelog as host-facing.

Skipped (1)

  • ⏭️ setDisplayUnitCache — SDK-to-SDK integration API; RN host apps cannot implement a Java interface.

Deferred for design review (0)

Build manifest propagated

(none)

iOS sync

Surfaced (2)

  • CleverTap.fetchInbox(callback?) — New public API on CleverTap+Inbox.hfetchInboxWithCallback: with nullable callback; bridged following the established optional-callback overload pattern.
  • CleverTap.pushDisplayUnitElementClickedEventForID(unitID, additionalProperties) — New public API on CleverTap+DisplayUnit.hrecordDisplayUnitElementClickedEventForID:additionalProperties: — enables element-level click attribution for Native Display units.

Skipped (5)

  • ⏭️ setDisplayUnitCache: — Takes id<CleverTapDisplayUnitCache> — a native protocol that cannot be passed from JavaScript; SDK-to-SDK integration API.
  • ⏭️ handleWillPresentNotification:withDefaultOptions:completionHandler: — Takes native UNNotification and UNNotificationPresentationOptions; cannot be called from JS — handled automatically with autoIntegrate.
  • ⏭️ buildInboxMessageStateEvent:forMessage:andQueryParameters:completionHandler: (removed) — Internal CTEventBuilder utility; was never part of the RN bridge surface.
  • ⏭️ displayUnitsDidUpdate (removed) — Internal CTDisplayUnitController method; was never part of the RN bridge surface.
  • ⏭️ getAllDisplayUnits (changed nullability) — Nullability annotation change from _Nonnull to _Nullable only; no JS API change needed.

Deferred for design review (0)

Build manifest propagated

(none)

CHANGELOG entries added

Version 4.2.0 *(June 12 2026)* — Supports clevertap-android-sdk 8.3.0 and CleverTap iOS SDK v7.7.1;
adds fetchInbox(callback?) for on-demand App Inbox refresh and
pushDisplayUnitElementClickedEventForID(unitID, additionalProperties) for element-level display unit
click analytics across both platforms.

Native CHANGELOG entries (reviewer reference)

Android — corev8.3.0

Version 8.3.0 (June 2026)

New Features

  • Native Display Element Click: New pushDisplayUnitElementClickedEventForID(String unitID, HashMap<String, Object> additionalProperties) on CleverTapAPI records a Notification Clicked event for a specific element within a Display Unit. Caller-supplied additionalProperties (including wzrk_element_id from the action's metadata) are merged first, then enriched with cached wzrk_* attribution fields from the unit — giving finer-grained click analytics for Native Display experiences.
  • Display Unit Cache API: New public interface DisplayUnitCache and setDisplayUnitCache(DisplayUnitCache) on CleverTapAPI let external SDKs (e.g. the Native Display SDK) inject a custom display-unit store. getAllDisplayUnits() and getDisplayUnitForID() 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

  • App Inbox Cross-Device Sync: App Inbox messages now sync across a user's devices. If a user deletes or reads a message on one device, it is automatically reflected on their other devices.
    • New Inbox Fetch APIs: Two new public methods added for on-demand refresh:
      • 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.
      • Note: Both methods are throttled to once every 5 minutes between consecutive calls. This throttle is shared with the built-in pull-to-refresh gesture.
    • Pull-to-Refresh in Built-in Inbox: The built-in App Inbox (showAppInbox()) now includes a pull-to-refresh gesture. Manual inbox fetches are throttled to once every 5 minutes.
      • Note: Pull-to-refresh is automatically disabled for accounts not enabled for App Inbox Cross-Device Sync.
    • Inbox Viewed and Clicked Event Deduplication: Rapid duplicate events for the same inbox message are now automatically suppressed. A Notification Viewed event is not raised for messages already read on another device.
      • Note: For custom inbox implementations, ensure pushInboxNotificationViewedEvent(messageId) is called before markReadInboxMessage(messageId) — reversed order will silently drop the Viewed event.

iOS — v7.7.1

Version 7.7.1 (June 04, 2026)

Added

  • Silent-in-foreground push notification: Push notifications can now be suppressed when the app is in the foreground via wzrk_sif:true in the push payload. Adds handleWillPresentNotification: for manual SDK integration (not required with autoIntegrate).
  • Adds recordDisplayUnitElementClickedEventForID: — records a Notification Clicked event for a specific element within a Display Unit.
  • Adds setDisplayUnitCache: — lets external SDKs inject a custom Display Unit store.

Fixed

  • Fixes a bug where server-side InApps evaluation IDs were being duplicated in UserDefaults.
  • Fixes a bug where apps were freezing when InApps were being shown in low network conditions.

iOS — intermediate v7.7.0

Version 7.7.0 (May 19, 2026)

New Features

  • App Inbox Cross-Device Sync: App Inbox messages now sync across a user's devices.
    • New fetchInbox() and fetchInbox(callback:) methods for on-demand refresh; throttled to once every 5 minutes.
    • Pull-to-refresh in the built-in App Inbox (throttled; disabled for accounts not enabled for Cross-Device Sync).
    • Inbox Viewed and Clicked Event Deduplication: Automatic suppression of rapid duplicate events. For custom inbox implementations, call recordInboxNotificationViewedEvent before markReadInboxMessage.

Fixed

  • Fixes a crash in CTInAppEvaluationManager corrupting NSUserDefaults.

Run metadata

  • Model: claude-sonnet-4-6 (primary), claude-haiku-4-5-20251001 (secondary)
  • Tokens used: 140,000 (Android: 98,000 + iOS: 42,000)
  • Approx cost: $4.08 (Android: $2.76 + iOS: $1.32)
  • Soft cap ($3) exceeded: yes

For the reviewer

This PR is auto-generated. Please:

  1. Read the Surfaced sections — confirm each surfaced API is genuinely host-facing and the wrapper API shape looks idiomatic.
  2. Read Skipped — confirm we didn't miss anything obvious.
  3. Read Deferred — these need follow-up tickets to be opened or addressed locally.
  4. Check Build manifest propagated — any minSdk / deployment-target bumps are visible to host apps. Make sure CHANGELOG calls them out as breaking if applicable.
  5. CI must be green before merge: lint + Android build + iOS Example app build.

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

Copy link
Copy Markdown
Author

⚠️ Run cost: $4.08 — exceeded soft cap of $3

Total tokens: 53479.
No action required — soft cap is informational. Review this run if costs are consistently high.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants