Conversation
📝 WalkthroughWalkthroughTwo changes extend Xcode 26+ iOS build compatibility. ChangesFirebase Static Framework Compatibility
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
Suggested reviewers
🚥 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)
Warning Review ran into problems🔥 ProblemsGit: Failed to clone repository. Please run the 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.
Actionable comments posted: 1
🤖 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.
Inline comments:
In `@plugins/withWebRTCFrameworkFix.js`:
- Around line 10-22: The header comment in withWebRTCFrameworkFix.js numbers the
fixes as 1, 2, 3, 4 (CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES,
use_modular_headers, RCTPromiseRejectBlock, and $RNFirebaseAsStaticFramework)
but the code comments below number them as 0, 1, 2, 3 with a different execution
order. Renumber and reorder the header comment to match the actual code
execution order: 0=$RNFirebaseAsStaticFramework, 1=use_modular_headers,
2=CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES, 3=RCTPromiseRejectBlock
patch, ensuring the description order aligns with how these fixes are actually
applied in the code.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 3ef6e35f-250a-4fc1-9b07-4a2c64e996de
📒 Files selected for processing (2)
app.config.tsplugins/withWebRTCFrameworkFix.js
| * Fixes four classes of errors: | ||
| * 1. "include of non-modular header inside framework module" — sets | ||
| * CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES for all pods. | ||
| * 2. "declaration of 'X' must be imported from module 'Y' before it is required" | ||
| * — adds use_modular_headers! so #import statements resolve correctly across | ||
| * framework module boundaries. | ||
| * 3. "RCTPromiseRejectBlock must be imported from module 'RNFBApp.RNFBAppModule'" | ||
| * — patches RNFBMessaging source files to import RNFBAppModule explicitly. | ||
| * 4. "unknown type name 'RCT_EXTERN'" / "duplicate declaration of method | ||
| * 'RCT_CONCAT'" in RNFBMessagingModule.m (RCT_EXPORT_MODULE fails to expand) | ||
| * — sets $RNFirebaseAsStaticFramework = true so the @react-native-firebase | ||
| * pods build as static frameworks, letting React's macro headers resolve | ||
| * inside the Firebase module. |
There was a problem hiding this comment.
Fix the numbering inconsistency between the header comment and code comments.
The header comment lists fixes as 1, 2, 3, 4, but the code comments below number them as 0, 1, 2, 3 (lines 31, 53, 65, 110). Additionally, the execution order doesn't match the header order:
- Header: 1=CLANG_ALLOW, 2=use_modular_headers, 3=RCTPromiseRejectBlock, 4=$RNFirebaseAsStaticFramework
- Code execution: 0=$RNFirebaseAsStaticFramework, 1=use_modular_headers, 2=CLANG_ALLOW, 3=RCTPromiseRejectBlock
Consider renumbering the header to match the code's execution order (0, 1, 2, 3) for clarity.
📝 Suggested fix to align numbering
- * Fixes four classes of errors:
- * 1. "include of non-modular header inside framework module" — sets
- * CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES for all pods.
- * 2. "declaration of 'X' must be imported from module 'Y' before it is required"
- * — adds use_modular_headers! so `#import` statements resolve correctly across
- * framework module boundaries.
- * 3. "RCTPromiseRejectBlock must be imported from module 'RNFBApp.RNFBAppModule'"
- * — patches RNFBMessaging source files to import RNFBAppModule explicitly.
- * 4. "unknown type name 'RCT_EXTERN'" / "duplicate declaration of method
- * 'RCT_CONCAT'" in RNFBMessagingModule.m (RCT_EXPORT_MODULE fails to expand)
+ * Fixes four classes of errors (in execution order):
+ * 0. "unknown type name 'RCT_EXTERN'" / "duplicate declaration of method
+ * 'RCT_CONCAT'" in RNFBMessagingModule.m (RCT_EXPORT_MODULE fails to expand)
* — sets $RNFirebaseAsStaticFramework = true so the `@react-native-firebase`
* pods build as static frameworks, letting React's macro headers resolve
* inside the Firebase module.
+ * 1. "declaration of 'X' must be imported from module 'Y' before it is required"
+ * — adds use_modular_headers! so `#import` statements resolve correctly across
+ * framework module boundaries.
+ * 2. "include of non-modular header inside framework module" — sets
+ * CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES for all pods.
+ * 3. "RCTPromiseRejectBlock must be imported from module 'RNFBApp.RNFBAppModule'"
+ * — patches RNFBMessaging source files to import RNFBAppModule explicitly.🤖 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 10 - 22, The header comment
in withWebRTCFrameworkFix.js numbers the fixes as 1, 2, 3, 4
(CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES, use_modular_headers,
RCTPromiseRejectBlock, and $RNFirebaseAsStaticFramework) but the code comments
below number them as 0, 1, 2, 3 with a different execution order. Renumber and
reorder the header comment to match the actual code execution order:
0=$RNFirebaseAsStaticFramework, 1=use_modular_headers,
2=CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES, 3=RCTPromiseRejectBlock
patch, ensuring the description order aligns with how these fixes are actually
applied in the code.
|
Approve |
Summary by CodeRabbit