Skip to content

Conversation

renefloor
Copy link
Contributor

@renefloor renefloor commented Oct 8, 2025

🎯 Goal

Related to #1066

🛠 Implementation details

ScreenSharing has no direct dependency on Flutter and because of that you cannot compile from xcode directly. It doesn't affect flutter run though

🧪 Testing

Run from xcode 26

☑️Contributor Checklist

General

  • Assigned a person / code owner group (required)
  • Thread with the PR link started in a respective Slack channel (#flutter-team) (required)
  • PR is linked to the GitHub issue it resolves

☑️Reviewer Checklist

  • Sample runs & works
  • UI Changes correct (before & after images)
  • Bugs validated (bugfixes)
  • New feature tested and works
  • All code we touched has new or updated Documentation

Summary by CodeRabbit

  • Chores
    • Standardized iOS build settings across Debug, Release, and Profile variants for multiple targets to align module handling behavior.
    • Applies uniformly to development, beta, and production builds.
    • No changes to app functionality, UI, performance, or platform compatibility.
    • No impact expected to installation, updates, or in-app behavior.

@renefloor renefloor requested a review from a team as a code owner October 8, 2025 09:27
@renefloor renefloor changed the title disable explicit modules fix(samples): disable explicit modules Oct 8, 2025
Copy link

coderabbitai bot commented Oct 8, 2025

Walkthrough

Sets SWIFT_ENABLE_EXPLICIT_MODULES = NO across multiple Xcode build configurations for the iOS Runner project, applying to both Runner and ScreenSharing targets. No code or public API changes.

Changes

Cohort / File(s) Summary
Xcode build configurations
dogfooding/ios/Runner.xcodeproj/project.pbxproj
Added SWIFT_ENABLE_EXPLICIT_MODULES = NO to Debug-, Release-, and Profile-* configs for Runner and ScreenSharing targets. No other settings or source changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

I twitch my ears at flags so bold,
A switch to “no” in Xcode’s fold;
Debug, Release, Profiles too—
A tidy tweak, hop-hop, woohoo! 🐇
Carrots compiled, the build burrows flow,
Onward we scamper—modules in tow.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request description follows the template headings but lacks critical details under the Goal and Implementation sections, as it only references the issue number and the build failure cause without specifying the change to SWIFT_ENABLE_EXPLICIT_MODULES or how disabling explicit modules resolves the problem. It also omits the UI Changes section entirely, though that is non-critical for a non-UI change. While testing instructions are present, the core implementation details are incomplete relative to the required template. Please expand the Goal section to summarize why disabling explicit modules is required for Xcode 26 compatibility, and update the Implementation details to describe the addition of the SWIFT_ENABLE_EXPLICIT_MODULES = NO flag across the specified build configurations. You may omit the UI Changes section if it is not applicable.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The PR title "fix(samples): disable explicit modules" succinctly and accurately conveys the primary change of disabling Swift explicit module support in the sample project. It is specific to the core modification, avoids unnecessary detail, and aligns with the repository’s naming conventions.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/xcode-26-compatibility

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between a886f74 and 31357c0.

📒 Files selected for processing (1)
  • dogfooding/ios/Runner.xcodeproj/project.pbxproj (12 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: stream_video_flutter
  • GitHub Check: stream_video_noise_cancellation
  • GitHub Check: analyze
  • GitHub Check: build
  • GitHub Check: stream_video
  • GitHub Check: stream_video_push_notification
🔇 Additional comments (1)
dogfooding/ios/Runner.xcodeproj/project.pbxproj (1)

590-590: Document Xcode 26 workaround and verify build performance

Disabling explicit modules across all configurations resolves the Xcode 26 compile error but can increase build times. Please:

  • Record baseline build metrics (e.g. xcodebuild clean && time xcodebuild …) before and after this change.
  • Add a comment in project.pbxproj or your README linking to issue iOS XCode 26: Clang dependency scanner failure #1066 and marking this as an Xcode 26–specific workaround.
  • Consider addressing ScreenSharing’s Flutter dependency directly to restore explicit modules long term.

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

codecov bot commented Oct 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 4.82%. Comparing base (a886f74) to head (31357c0).

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #1074   +/-   ##
=====================================
  Coverage   4.82%   4.82%           
=====================================
  Files        591     591           
  Lines      40402   40402           
=====================================
  Hits        1949    1949           
  Misses     38453   38453           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

1 participant