Conversation
📝 WalkthroughWalkthroughThis PR updates the Expo config plugin to apply the Xcode 26+ non-modular header include fix to all pod targets rather than a single target. The documentation is updated to reflect the broader fix scope, and the injected Podfile logic changes from targeting ChangesWebRTC Framework Compatibility Fix
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
plugins/withWebRTCFrameworkFix.js (1)
24-27:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMarker check can skip the new all-target fix on already-patched Podfiles.
If the Podfile already contains this marker from a previous single-target patch, the plugin returns early and never applies the new all-target loop, so the upgrade path can remain broken.
Suggested fix
- const marker = 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'; - if (contents.includes(marker)) { + const marker = "installer.pods_project.targets.each do |target|"; + if (contents.includes(marker)) { return config; }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/withWebRTCFrameworkFix.js` around lines 24 - 27, The current early-return checks only for the marker 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' in contents and returns config, which skips adding the new all-target loop when a Podfile was previously patched for a single target; update the logic in withWebRTCFrameworkFix.js so that instead of returning immediately when contents.includes(marker) is true you also verify the presence of the new all-target loop (e.g., the loop text you intend to inject) and only return if both the marker and the all-target loop exist; if the marker exists but the all-target loop is missing, continue to apply the new patch to inject the all-target loop before returning config.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@plugins/withWebRTCFrameworkFix.js`:
- Around line 24-27: The current early-return checks only for the marker
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' in contents and returns
config, which skips adding the new all-target loop when a Podfile was previously
patched for a single target; update the logic in withWebRTCFrameworkFix.js so
that instead of returning immediately when contents.includes(marker) is true you
also verify the presence of the new all-target loop (e.g., the loop text you
intend to inject) and only return if both the marker and the all-target loop
exist; if the marker exists but the all-target loop is missing, continue to
apply the new patch to inject the all-target loop before returning config.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f7fe367f-0229-4fef-abc2-51191fa333f1
📒 Files selected for processing (1)
plugins/withWebRTCFrameworkFix.js
|
Approve |
Summary by CodeRabbit