Repository navigation
feat(SDK-453): Unknown User Activation epic for React Native SDK - #934
Open
jferrao-itrbl wants to merge 29 commits into
Open
jferrao-itrbl wants to merge 29 commits into
jferrao-itrbl wants to merge 29 commits into
Conversation
Wire through iOS and Android Serialization for UUA foreground criteria fetch.
Cover toDict() when enableForegroundCriteriaFetch is false. Remove duplicate default assert from embeddedManager tests.
Add IterableIdentityResolution type and wire defaults through iOS/Android Serialization.
Name the case that sets only replayOnVisitorToKnown.
Wire the unknown-user local event cap through iOS and Android Serialization.
Clarify changelog and TSDoc: RN has no enableUnknownUserActivation yet.
Add setVisitorUsageTracked and getVisitorUsageTracked across the TurboModule bridge. Guard calls until initialize resolves to avoid Android pre-init crashes.
Describe storage on setVisitorUsageTracked and reads on getVisitorUsageTracked.
…3-event-threshold-limit
…4-enable-foreground-criteria
Wire the UUA opt-in flag through iOS and Android Serialization with default false.
…-limit feat(SDK-553): expose IterableConfig.eventThresholdLimit
…4-enable-foreground-criteria Resolve CHANGELOG and Iterable.test.ts conflicts for SDK-554 and SDK-553.
…nd-criteria feat(SDK-554): expose IterableConfig.enableForegroundCriteriaFetch
…4-enable-unknown-user-activation Resolve IterableConfig, tests, and changelog conflicts by keeping UUA parity options together.
…user-activation feat(SDK-794): expose IterableConfig.enableUnknownUserActivation
…6-identity-resolution Resolve IterableConfig, tests, and changelog conflicts by keeping UUA parity options with identity resolution.
…1-visitor-usage-tracked Resolve CHANGELOG conflict and document UUA config parity alongside visitor consent APIs.
…vation Consent APIs only store and return the flag; UUA also requires IterableConfig at init.
Use optional chaining so null/undefined identityResolution defaults both flags to true instead of throwing during bridge serialization.
…tion feat(SDK-556): expose IterableConfig.identityResolution
…1-visitor-usage-tracked
Export resetSdkInitializationStateForTests from Iterable.ts for tests only so it is not on the public Iterable static API surface.
…racked feat(SDK-561): expose visitor usage consent APIs
Emit handleUnknownUserCreatedCalled so apps store the generated id before authHandler.
Use shared mock EventEmitter listenerCount instead of emit-not-throwing.
Consume the cached id on each auth call so later JWT minting uses getUserId().
…ndler feat(SDK-804): IterableConfig.unknownUserHandler
|
Coverage Impact ⬆️ Merging this pull request will increase total coverage on Modified Files with Diff Coverage (3)
🤖 Increase coverage with AI coding...🚦 See full report on Qlty Cloud » 🛟 Help
|
Unblocks iOS example and CodeQL Swift builds after unknownUserHandler conformance.
This branch has not been deployed
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.

Summary
Epic integration PR for SDK-453 (UUA on RN SDK). This merges the long-lived
feature/SDK-548-uua-feature-paritybranch intomaster.Each slice below was implemented on its own branch, reviewed, and merged into this epic branch already. This PR is mainly integration and changelog packaging, not a first-pass review of new design.
General RN feature parity (logout, embedded sync,
jsonOnly, and related SDK-548 work) is tracked separately in #933 onfeature/SDK-548-feature-parity.Jira Ticket: SDK-453
Included work (already reviewed)
feature/SDK-553-event-threshold-limitfeature/SDK-554-enable-foreground-criteriafeature/SDK-556-identity-resolutionfeature/SDK-561-visitor-usage-trackedfeature/SDK-794-enable-unknown-user-activationfeature/SDK-804-unknown-user-handlerExample app harness work (SDK-810, SDK-811) lives in the test app repo and is not part of this branch.
Description
Rolls up Unknown User Activation surface area for React Native: opt-in via
IterableConfig.enableUnknownUserActivation, visitor consent APIs, config knobs (eventThresholdLimit,enableForegroundCriteriaFetch,identityResolution), andunknownUserHandlerfor JWT-enabled projects. All options forward to the pinned native SDKs (iOS 6.7.5, Android 3.10.1).See
CHANGELOG.mdUnreleased for customer-facing bullets.How to test?
Changelog
Unreleased section added in
CHANGELOG.mdon this branch.Loom recording if applicable
N/A
Github Issues solved
N/A
Docs PR if applicable
N/A