task: sync flutter ← Android corev8.4.1 + iOS 7.8.1 (2026-08-11) - #369
Open
clevertap-wrapper-sync[bot] wants to merge 1 commit into
Open
task: sync flutter ← Android corev8.4.1 + iOS 7.8.1 (2026-08-11)#369clevertap-wrapper-sync[bot] wants to merge 1 commit into
clevertap-wrapper-sync[bot] wants to merge 1 commit into
Conversation
Android: core 8.4.1 iOS: core 7.8.1 Auto-generated by clevertap-wrapper-sync via clevertap-wrapper-tooling. Co-Authored-By: Claude <noreply@anthropic.com>
clevertap-wrapper-sync
Bot
requested review from
akashvercetti and
piyush-kukadiya
as code owners
August 11, 2026 11:59
clevertap-wrapper-sync
Bot
requested review from
Sonal-Kachare,
deeksha-rgb and
nishant-clevertap
as code owners
August 11, 2026 11:59
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
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 flutter ← Android corev8.4.1 + iOS 7.8.1 (2026-08-11)
🤖 Auto-generated by
clevertap-wrapper-syncviaclevertap-wrapper-tooling.Spin-the-Wheel and Scratch Card in-app templates(native Android v8.4.1) — changelog announces two new gamified Advanced InApp Builder templates; api_diff shows no new public symbol, so these are campaign-driven and need no wrapper API — reviewer should confirm the Flutter in-app callbacks (onInAppButtonClicketc.) carry the new templates' payloads.CLEVERTAP_INAPP_FRAGMENTLESS_BANNERS manifest flag(native Android v8.4.1) — opt-in flag read from the host app's AndroidManifest.xml, documented in CHANGELOG.md rather than declared in the plugin manifest — reviewer may want it covered indoc/Integrate-Android.md.Split of Clicks — per-element in-app click attribution and swipe-to-dismiss(native Android v8.4.0) — richer Notification Clicked event data plus a new dismiss gesture; no added/changed public symbol, so runtime behavior only — reviewer should verify the extra click properties reach Dart through the existing in-app callback maps.iOS bridge for dismissPipInApp(native Android v8.4.1) — Android sync could not verify an iOS selector (no iOS source cached at that point); resolved by the iOS sync, which source-verified-[CleverTap dismissPipInApp]and wired upios/Classes/CleverTapPlugin.m.Spin-the-Wheel and Scratch Card gamified templates(native iOS v7.8.1) — campaign-driven Advanced InApp Builder templates with no new public API; documented in CHANGELOG only.Split of Clicks — per-element click attribution and configurable tap-outside / swipe-to-dismiss gestures(native iOS v7.8.0) — extra properties on the existingNotification Clickedevent and new dismiss gestures, handled natively with no public API change.Accessibility improvements (VoiceOver labels, larger dismiss tap area, image content descriptions)(native iOS v7.8.0) — runtime rendering changes inside native in-app and App Inbox views; no API surface for the wrapper.In-app / variables / App Inbox bug fixes(native iOS v7.8.0, v7.8.1) — backgrounded in-apps, HTML in-app deeplink properties, AIB safe area, empty CS in-app payloads, variable-diff and concurrentvariantscrashes, App Inbox pull-to-refresh repaint — behavior-only, inherited via the pin bump.Version pins bumped
core8.3.0 → 8.4.1 (android/build.gradle)CleverTap-iOS-SDK7.7.1 → 7.8.1 (ios/clevertap_plugin.podspec)Release prep
dismissPipInApp(); additive only, no removed public API, no minSdk or deployment-target change)CHANGELOG.md— 4.2.0 entry covering both platforms; iOS merged into the existing entry rather than duplicating the version headingREADME.md— version references bumped to 4.2.0dismissPipInApp(example/lib/main.dart, tile retitled from "Dismiss PIP InApp (Android only)" to "Dismiss PIP InApp")Android sync
Surfaced (1)
CleverTapPlugin.dismissPipInApp()— dismisses a visible Picture-in-Picture in-app notification; thin no-arg pass-through so host apps can clear a PIP in-app on screen transitions. Source-verified aspublic void dismissPipInApp()inCleverTapAPI.java:3164at tagcorev8.4.1.Skipped (4)
App Inbox pull-to-refresh repaint fix— native bug fix inside the built-in inbox view with no public API surface; picked up via the pin bump.App Inbox SQLite UPSERT fix (Android 6.0–10)— native persistence fix requiring no host-app or wrapper change; documented in CHANGELOG.md since it affects every App Inbox user on 4.0.0/4.1.0.Media3PlayerListener AbstractMethodError crash fix— internal listener fix with no API surface; resolved by the pin bump.In-App and App Inbox accessibility improvements (8.4.0)— native UI-layer work with no public API added.Deferred for design review (0)
Build manifest propagated
iOS sync
Surfaced (1)
CleverTapPlugin.dismissPipInApp()— iOS 7.8.1 adds the public-[CleverTap dismissPipInApp]selector, so the iOS side of the shared Dart method (added Android-only by the Android sync) is now wired up and documented as cross-platform. Source-verified againstCleverTapSDK/CleverTap+InAppNotifications.h:67at tag 7.8.1.Skipped (11)
_dismissPipInApp— internalCTInAppDisplayManagerhelper behind the publicdismissPipInApp; not host-facing.announceInAppShown— declared in private headerCTInAppDisplayViewControllerPrivate.h; internal accessibility plumbing.handleNotificationDidShow— private in-app view-controller header; internal display lifecycle hook.notifyDelegateActionTriggered:withExtras:— private header, supports per-element click attribution internally.triggerCloseActionWithCallToAction:elementId:— private header, backs the new dismiss-gesture click tracking.recordInAppNotificationMediaError:forNotification:— declared inCleverTapInternal.h; SDK-internal telemetry.updateMessages:completion:— internalCTInboxControllermethod backing the App Inbox pull-to-refresh fix.variantsCopy— internalCTVarCacheaccessor added for the variables concurrency fix.CTSessionManager methods (createSessionIfNeeded, updateSessionStateOnLaunch, updateSessionTime:, initWithConfig:…)— internal session-manager refactor, never exposed through the Flutter bridge.CTInActionResult / CTTimerResult factory methods (cancelledWithId:message:, completedWithId:scheduledAt:, discardedWithId:, errorWithId:…, readyToFetchWithId:data:)— internal in-app scheduler result types.discardedWithId:message:— signature change is a de-duplication of a redundant declaration in internalCTDelayedInAppResult.h; no host-facing impact.Deferred for design review (0)
Build manifest propagated
CHANGELOG entries added
[Android and iOS Platform]— supports CleverTap Android SDKv8.4.1and CleverTap iOS SDKv7.8.1[Android and iOS Platform]— addsdismissPipInApp()to dismiss the currently visible Picture-in-Picture (PIP) In-App notification[Android and iOS Platform]— adds Spin-the-Wheel and Scratch Card gamified templates to Advanced InApp Builder in-app notifications[Android and iOS Platform]— adds per-element click attribution to the In-AppNotification Clickedevent, plus configurable swipe/tap-outside dismiss gestures[Android and iOS Platform]— in-app and App Inbox accessibility improvements[Android Platform]— adds opt-inCLEVERTAP_INAPP_FRAGMENTLESS_BANNERSmanifest flag for HTML header/footer in-apps without aFragmentActivity[Android Platform]— fixes App Inbox messages never being saved on Android 6.0–10 (SQLiteUPSERT), present in wrapper 4.0.0/4.1.0[Android Platform]— fixes anAbstractMethodErrorcrash when a PIP In-App played video on Android 6.0[Android and iOS Platform]— fixes App Inbox not repainting the message list after pull-to-refresh[iOS Platform]— fixes CS InApps not persisted on empty array, AIB safe-area handling for full-screen cover in-apps,NSKeyedArchiver replaceObject:crash on variable diffs, concurrency crash on simultaneousvariantsupdates, missing deeplink properties on HTML In-AppNotification Clicked, and in-apps missed while backgrounded not showing on foregroundNative CHANGELOG entries (reviewer reference)
Android — corev8.4.1
Version 8.4.1 (August 7, 2026)
New Features
template support to Advanced InApp Builder in-app notifications.
dismissPipInApp()method onCleverTapAPIdismisses thecurrently visible Picture-in-Picture (PIP) In-App notification. Safe to call from any thread;
a no-op when no PIP is visible, and other in-app types are never affected.
show immediately. To keep a screen free of all in-apps, pair this with
suspendInAppNotifications()on screen entry andresumeInAppNotifications()on exit.notifications can now render when the host Activity is not a
FragmentActivity— for exampleUnity or Unreal game engines. Opt-in via the
CLEVERTAP_INAPP_FRAGMENTLESS_BANNERSmanifestflag; default off, so existing integrations are unaffected.
Bug Fixes
message list after a pull-to-refresh — newly fetched messages only appeared after closing and
reopening the inbox.
Android — intermediate corev8.4.0
Version 8.4.0 (July 28, 2026)
New Features
Adds per-element click attribution to In-Apps
Notification Clickedevent across all in-app templates. Also adds configurableswipe-to-dismiss gesture for In-Apps, and tracks these dismissals as Notification Clicked events.
Improvements
Enhances accessibility across In-App notifications and App Inbox with dynamic text scaling, screen-reader announcements and
content descriptions (close button, images, media controls), a larger 48dp dismiss-button tap area, and corrected carousel
TalkBack navigation — helping apps meet accessibility standards.
Bug Fixes
UPSERT) that needs SQLite 3.24.0 or newer, which Android only ships from Android 11 onwards, so every inbox write failed silently on older devices. Present inv8.2.0andv8.3.0.AbstractMethodErrorcrash seen when a Picture-in-Picture (PIP) In-App notification played a video on Android 6.0 (API 23). Media3'sPlayer.Listenerinterface relies on Java 8 default methods, which Android 6.0 does not support at runtime, so any callback the SDK had not explicitly overridden crashed the app. The SDK's sharedMedia3PlayerListenernow implements all of them. Only affects apps whoseminSdkVersionis below 24.iOS — 7.8.1
Version 7.8.1 (August 7, 2026)
Added
dismissPipInApp()method onCleverTapAPIdismisses the currently visible Picture-in-Picture (PIP) In-App notification.suspendInAppNotifications()on screen entry andresumeInAppNotifications()on exit.Fixed
iOS — intermediate 7.8.0
Version 7.8.0 (July 28, 2026)
Added
Notification Clickedevent across all in-app templates. Also adds configurable tap-outside and swipe-to-dismiss gestures for In-Apps, and tracks these dismissals as Notification Clicked events.Fixed
NSKeyedArchiver replaceObject:that could occur while saving variable diffs.variantsupdates.Notification Clickedevent was not including deeplink properties for HTML In-Apps.Run metadata
For the reviewer
This PR is auto-generated. Please:
dismissPipInAppas Android-only, and the iOS sync then corrected the Dart doc comment and example tile to cross-platform.