- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.2k
 
WebRTC Client. Fix cinterop task on macOS x86. #5165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
          
WalkthroughAdds a compiler option  Changes
 Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 
 Possibly related PRs
 Suggested labels
 Suggested reviewers
 Pre-merge checks and finishing touches✅ Passed checks (2 passed)
 ✨ Finishing touches🧪 Generate unit tests (beta)
 📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (6)
 🧰 Additional context used🧠 Learnings (11)📓 Common learnings📚 Learning: 2025-04-22T12:33:16.705ZApplied to files: 
 📚 Learning: 2025-08-26T06:07:28.352ZApplied to files: 
 📚 Learning: 2025-08-14T15:17:11.466ZApplied to files: 
 📚 Learning: 2025-08-14T15:17:11.466ZApplied to files: 
 📚 Learning: 2025-08-26T06:07:28.352ZApplied to files: 
 📚 Learning: 2025-05-07T09:12:14.293ZApplied to files: 
 📚 Learning: 2025-08-26T06:07:28.352ZApplied to files: 
 📚 Learning: 2025-05-16T13:11:28.416ZApplied to files: 
 📚 Learning: 2025-07-01T10:54:53.751ZApplied to files: 
 📚 Learning: 2025-08-26T06:07:28.352ZApplied to files: 
 🔇 Additional comments (6)
 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
ktor-client/ktor-client-webrtc/build.gradle.kts (1)
70-70: Fix for macOS x86 cinterop compilation looks correct.The addition of the
-DTARGET_OS_VISION=0compiler option follows the existing pattern and syntax. However, consider adding an inline comment explaining why this define is necessary for future maintainers.Example enhancement:
extraOpts += listOf("-compiler-option", "-fmodules") - extraOpts += listOf("-compiler-option", "-DTARGET_OS_VISION=0") + // Disable Vision OS target to fix cinterop task on macOS x86 + extraOpts += listOf("-compiler-option", "-DTARGET_OS_VISION=0")
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
ktor-client/ktor-client-webrtc/build.gradle.kts(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{kt,kts}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{kt,kts}: Follow Kotlin official style guide for all Kotlin source and build scripts
Use star imports for io.ktor.* packages
Max line length is 120 characters
Indent with 4 spaces in Kotlin code
Include a copyright header in new Kotlin files
Files:
ktor-client/ktor-client-webrtc/build.gradle.kts
🧠 Learnings (4)
📓 Common learnings
Learnt from: osipxd
Repo: ktorio/ktor PR: 4970
File: build-logic/src/main/kotlin/ktorbuild.kmp.gradle.kts:67-72
Timestamp: 2025-07-01T10:54:53.751Z
Learning: In build-logic/src/main/kotlin/ktorbuild.kmp.gradle.kts, the KT-70915 and KT-77609 workarounds that limit parallelism for KotlinNativeLink and CInteropCommonizerTask should remain unconditional (not gated behind CI flag) as these limits are beneficial for both local and CI builds.
📚 Learning: 2025-07-01T10:54:53.751Z
Learnt from: osipxd
Repo: ktorio/ktor PR: 4970
File: build-logic/src/main/kotlin/ktorbuild.kmp.gradle.kts:67-72
Timestamp: 2025-07-01T10:54:53.751Z
Learning: In build-logic/src/main/kotlin/ktorbuild.kmp.gradle.kts, the KT-70915 and KT-77609 workarounds that limit parallelism for KotlinNativeLink and CInteropCommonizerTask should remain unconditional (not gated behind CI flag) as these limits are beneficial for both local and CI builds.
Applied to files:
ktor-client/ktor-client-webrtc/build.gradle.kts
📚 Learning: 2025-08-14T15:17:11.466Z
Learnt from: zibet27
Repo: ktorio/ktor PR: 5044
File: ktor-client/ktor-client-webrtc/ktor-client-webrtc-rs/build.gradle.kts:12-12
Timestamp: 2025-08-14T15:17:11.466Z
Learning: The Cargo plugin (dev.gobley.cargo) used in the Ktor WebRTC RS module depends on the kotlin("plugin.atomicfu") plugin, so atomicfu should not be removed even if there are no direct kotlinx.atomicfu imports in the module's source code.
Applied to files:
ktor-client/ktor-client-webrtc/build.gradle.kts
📚 Learning: 2025-08-14T15:17:11.466Z
Learnt from: zibet27
Repo: ktorio/ktor PR: 5044
File: ktor-client/ktor-client-webrtc/ktor-client-webrtc-rs/build.gradle.kts:12-12
Timestamp: 2025-08-14T15:17:11.466Z
Learning: The Gobley Cargo plugin (dev.gobley.cargo) used in the Ktor WebRTC RS module requires the kotlin("plugin.atomicfu") plugin as a dependency, so the atomicfu plugin should not be removed even if there are no direct kotlinx.atomicfu imports in the module's source code.
Applied to files:
ktor-client/ktor-client-webrtc/build.gradle.kts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Subsystem
WebRTC Client
Motivation
Publishing Apple artifacts fails on the CI.
Solution
Add extra compiler options.