feat: RoktContracts POC Core Changes#675
feat: RoktContracts POC Core Changes#675BrandonStalnaker wants to merge 12 commits intoworkstation/9.0-Releasefrom
Conversation
7b0edb6 to
d5d1261
Compare
ab290f7 to
e4ba3ec
Compare
e4ba3ec to
7327beb
Compare
76a8444 to
e039bd1
Compare
📦 SDK Size Impact ReportMeasures how much the SDK adds to an app's size (with-SDK minus without-SDK).
Raw measurementsTarget branch (workstation/9.0-Release): {"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1788,"with_sdk_executable_size_bytes":76360,"sdk_impact_kb":1704,"sdk_executable_impact_bytes":896,"xcframework_size_kb":5604}This PR: {"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1860,"with_sdk_executable_size_bytes":76360,"sdk_impact_kb":1776,"sdk_executable_impact_bytes":896,"xcframework_size_kb":6456} |
|
build rokt wil sadly fail for this PR because the tests are using the workstation branch of mParticle Core. But, once the changes here are merged, it will no longer fail. |
PR SummaryHigh Risk Overview Updates build/distribution plumbing to include Refreshes examples/tests and local dev setup. Example apps and Rokt kit tests are updated to the new event/config APIs, Swift gets an Objective-C selector-based interop shim ( Written by Cursor Bugbot for commit 433d788. This will update automatically on new commits. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 4 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
| # Align with monorepo mParticle-Apple-SDK.podspec (8.x). When using `pod :path`, CocoaPods | ||
| # resolves the local SDK; keep a loose constraint so `pod lib lint` and trunk releases stay valid. | ||
| s.ios.dependency 'mParticle-Apple-SDK', '>= 8.0' | ||
| s.ios.dependency 'RoktContracts', '~> 0.1' |
There was a problem hiding this comment.
Pod dependency range is too broad
Medium Severity
The mParticle-Rokt pod now allows any mParticle-Apple-SDK version >= 8.0, which can resolve to older core releases that do not include the new RoktContracts-based API surface this kit now uses. This can produce dependency resolution that installs but breaks integration compatibility at build or runtime.
| # Fail if any *diagnostic* warnings remain after allowlist filters. | ||
| # Use ': warning:' (clang/Xcode style) — not bare 'warning', which false-positives on | ||
| # swiftc flags like -suppress-warnings in Swift package builds (e.g. RoktContracts). | ||
| bash -c '! (set -o pipefail && xcodebuild -project "mParticle-Apple-SDK.xcodeproj" -scheme "mParticle-Apple-SDK" -sdk iphonesimulator -configuration Debug -destination "platform=iOS Simulator,name=iPhone 16 Pro,OS=latest" clean analyze | grep -v "warning: The iOS Simulator deployment target" | grep -v "warning: Metadata extraction skipped" | grep -F -v "Repeated use of MParticle sharedInstance in one method; assign to a local variable once." | grep -F -v "warning: Run script build phase '"'"'Run Script'"'"' will be run during every build" | grep -B3 ": warning:")' |
There was a problem hiding this comment.
| pod 'RoktUXHelper', :git => 'https://github.com/ROKT/rokt-ux-helper-ios.git', :tag => '0.8.3' | ||
|
|
||
| # Rokt iOS SDK 5.x (aligned with Kits/rokt/rokt/Package.swift). Use Git branch; not on CocoaPods trunk. | ||
| pod 'Rokt-Widget', :git => 'https://github.com/ROKT/rokt-sdk-ios.git', :branch => 'workstation/5.0.0' |
There was a problem hiding this comment.
Example depends on temporary Git branch
Low Severity
The example now pins Rokt-Widget to a workstation branch and RoktUXHelper to a Git tag override. This introduces non-release dependency sources that can disappear or drift, making pod install for Example/Podfile fragile and intermittently failing for contributors and CI.
Additional Locations (1)
| if (mpEvent) { | ||
| onEvent(mpEvent); | ||
| } | ||
| onEvent(event); |
There was a problem hiding this comment.


DRAFT
Background
What Has Changed
Checklist
Reference Issue (For employees only. Ignore if you are an outside contributor)