FCE-2382: Fix appintentsmetadataprocessor with screen sharing target#526
Conversation
There was a problem hiding this comment.
Pull request overview
This PR fixes an appintentsmetadataprocessor error that prevented archiving apps using the Broadcast Extension for screen sharing. The fix involves separating the broadcast functionality from a CocoaPods subspec into a standalone pod to avoid metadata conflicts during the build process.
- Removes the
Broadcastsubspec fromFishjamCloudClient.podspec - Creates a new standalone
FishjamCloudBroadcastClient.podspecfor broadcast extension functionality - Updates all references across TypeScript plugin files and Swift code to use the new pod
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
packages/react-native-client/plugin/src/withFishjamIos.ts |
Updates pod dependency reference from FishjamCloudClient/Broadcast subspec to FishjamCloudBroadcastClient standalone pod |
packages/react-native-client/plugin/broadcastExtensionFiles/FishjamBroadcastSampleHandler.swift |
Changes import statement to use the new standalone pod |
common/plugins/src/with-custom-config-ios.ts |
Updates pod references in development configuration to use new standalone pod |
FishjamCloudClient.podspec |
Removes the Broadcast subspec definition |
FishjamCloudBroadcastClient.podspec |
Creates new standalone podspec that extracts configuration from base podspec using regex parsing |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
| base_content = File.read(File.join(__dir__, 'FishjamCloudClient.podspec')) | ||
|
|
||
| base_config = { | ||
| homepage: base_content[/s\.homepage\s*=\s*['"]([^'"]+)['"]/, 1], |
There was a problem hiding this comment.
Seems like the big part of the regex is repeating, maybe move it to variable?
| package = JSON.parse(File.read(File.join(__dir__, 'package.json'))) | ||
| base_content = File.read(File.join(__dir__, 'FishjamCloudClient.podspec')) | ||
|
|
||
| base_config = { |
There was a problem hiding this comment.
Btw, is there no other option to just get those values from a different podspec?
There was a problem hiding this comment.
I haven't found any other way. Do you know of any? The other idea that I had was to store the common values in JSON and then fetch it in both files, but I decided this is simpler.
There was a problem hiding this comment.
If there is no simple import then this seems enough. I have no knowledge of other options unfortunately :/
|
|
||
| s.dependency 'WebRTC-SDK', base_config[:webrtc_version] | ||
| s.dependency 'SwiftProtobuf', base_config[:swift_protobuf_version] | ||
| end No newline at end of file |
| "base": { | ||
| "ios": { | ||
| "image": "macos-sequoia-15.3-xcode-16.2" | ||
| "image": "latest" |
There was a problem hiding this comment.
Maybe better to have it set manually, no strong opinion on that though.
There was a problem hiding this comment.
This is intentional; we use this app to test our SDK, so if something breaks (like in this case), we want to know as soon as possible. It used to be like this until the above bug occurred, which forced us to lock the image version.
Description
Motivation and Context
Documentation impact
Types of changes
not work as expected)