Skip to content

stack/6 final polish - #697

Merged
al-af merged 10 commits into
developmentfrom
stack/6-final-polish
Aug 6, 2026
Merged

stack/6 final polish#697
al-af merged 10 commits into
developmentfrom
stack/6-final-polish

Conversation

@al-af

@al-af al-af commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Stack created with GitHub Stacks CLIGive Feedback 💬

@al-af
al-af force-pushed the stack/5-api-alignment branch from 52abf78 to 1434aa0 Compare August 5, 2026 07:06
@al-af
al-af force-pushed the stack/6-final-polish branch from b656f70 to 1f53ea8 Compare August 5, 2026 07:09
@al-af
al-af force-pushed the stack/5-api-alignment branch from 1434aa0 to 242c625 Compare August 5, 2026 07:40
@al-af
al-af force-pushed the stack/6-final-polish branch from 1f53ea8 to 4110e7f Compare August 5, 2026 07:41
pazlavi
pazlavi previously approved these changes Aug 5, 2026
@al-af
al-af dismissed pazlavi’s stale review August 5, 2026 08:38

The merge-base changed after approval.

@al-af
al-af force-pushed the stack/5-api-alignment branch from 242c625 to 78a8b9c Compare August 5, 2026 08:38
@al-af
al-af force-pushed the stack/6-final-polish branch 2 times, most recently from 786d3bc to e22725f Compare August 5, 2026 09:16
@al-af
al-af force-pushed the stack/5-api-alignment branch from a286002 to 879ad7e Compare August 6, 2026 07:55
@al-af
al-af force-pushed the stack/6-final-polish branch from 2efa7f2 to 3c22a05 Compare August 6, 2026 07:56
@al-af
al-af force-pushed the stack/5-api-alignment branch from 879ad7e to d7c38d9 Compare August 6, 2026 08:43
al-af and others added 10 commits August 6, 2026 11:44
…in AppDelegate

The config plugin never injected AppsFlyerLib.shared().handleLaunchOptions(launchOptions) into didFinishLaunchingWithOptions on either ObjC or Swift, and the Swift continueUserActivity injection hardcoded restorationHandler to nil instead of forwarding the real closure. Both now match the manually-integrated reference pattern in demos/appsflyer-react-native-app's AppDelegate.swift. Docs updated to match.
plugin_bridge reports SHOUTING_CASE deep-link status/error names (FOUND/NOT_FOUND/ERROR) while iOS reports lowerCamelCase (found/notFound/failure). UnifiedDeepLinkData is typed against iOS's vocabulary, so Android-only apps comparing res.status/res.error would silently fail. normalizeDeepLinkEvent() maps Android's raw event to the shared vocabulary before it reaches JS. Also extracts a shared parseJsonOrDefault helper and adds the org.json test dependency needed to unit test JSON logic under Robolectric-less unit tests.
…ements warning

AFLogEvent used the old 4-arg callback signature, which does not exist on the current TurboModule API (logEvent only returns a Promise) - the callbacks silently never fired. Switched to .then(). Also suppressed a confirmed-unfixable react-native-elements@3.4.3 PadView warning (un-keyed internal divider View) that fires whenever ListItem gets multiple children, as CartRow does.
MIGRATION.md's three overlapping lists (callback-removal prose, symbol table, alignment table) are replaced by one alphabetical Full API change reference table covering every affected symbol, plus a TOC and a tightened LLM-assistant prompt. Docs/RN_API.md gets an upgrading-from-6.x callout linking to MIGRATION.md, and its links into MIGRATION.md are repointed from anchors that never existed (table rows have no anchor) to real headings. The remaining Docs/*.md files get formatting cleanup and removal of stale 6.x-era examples, continuing the RPC-to-Plugin-API alignment doc pass from the previous commit.
- Introduces `setDisableAppleAdsAttribution` to allow disabling Apple Ads attribution on iOS.
- Addresses a potential crash on iOS by ensuring `isUserSubjectToGDPR` defaults to `false` when omitted in `setConsentData` calls, aligning behavior with Android's native implementation.
- Adds `verify-plugin-schema.js`, a new development script to validate `index.ts` RPC calls against the canonical AppsFlyer plugin schema, improving consistency checks.
Migrates `index.js` and `index.d.ts` to a single typed `index.ts` entry point, enhancing type safety and maintainability.

Updates documentation and demo app examples to provide clearer guidance on asynchronous API calls, native dispatch order, and proper `async`/`await` usage, especially for deep linking.

Documents newly identified critical, unfixable native SDK issues for iOS (`devKey`/`appleAppID` TOCTOU race) and Android (`init()` timing with `reactApplicationContext`).
Pass `nil` to AppsFlyer's `continueUserActivity` restoration handler to
avoid a Swift type mismatch. The AppsFlyer SDK only requires the
`userActivity` object to extract OneLink URLs, and the full
`restorationHandler` is processed by `RCTLinkingManager`.
@al-af
al-af force-pushed the stack/6-final-polish branch from 3c22a05 to 9f77e81 Compare August 6, 2026 08:44
@al-af
al-af changed the base branch from stack/5-api-alignment to development August 6, 2026 09:45
@al-af
al-af merged commit 48a4cad into development Aug 6, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants