Skip to content
This repository was archived by the owner on Feb 10, 2026. It is now read-only.

FCE-2382: Fix appintentsmetadataprocessor with screen sharing target#526

Merged
MiloszFilimowski merged 4 commits intomainfrom
mfilimowski/FCE-2382-separate-podspec
Dec 3, 2025
Merged

FCE-2382: Fix appintentsmetadataprocessor with screen sharing target#526
MiloszFilimowski merged 4 commits intomainfrom
mfilimowski/FCE-2382-separate-podspec

Conversation

@MiloszFilimowski
Copy link
Collaborator

Description

  • Separate targets to resolve AppIntents metadata error.

Motivation and Context

  • When using Broadcast Extension it was not possible to archive the app due to the appintentsmetadataprocessor error.

Documentation impact

  • Documentation update required
  • Documentation updated in another PR
  • No documentation update required

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to
    not work as expected)

Copilot AI review requested due to automatic review settings December 2, 2025 11:46
@linear
Copy link

linear bot commented Dec 2, 2025

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 Broadcast subspec from FishjamCloudClient.podspec
  • Creates a new standalone FishjamCloudBroadcastClient.podspec for 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.

@MiloszFilimowski MiloszFilimowski added the eas build Build and submit app for testing using EAS label Dec 2, 2025
@MiloszFilimowski MiloszFilimowski merged commit 662ef7a into main Dec 3, 2025
4 of 5 checks passed
@MiloszFilimowski MiloszFilimowski deleted the mfilimowski/FCE-2382-separate-podspec branch December 3, 2025 12:38
Copy link

@WoLewicki WoLewicki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some comments

base_content = File.read(File.join(__dir__, 'FishjamCloudClient.podspec'))

base_config = {
homepage: base_content[/s\.homepage\s*=\s*['"]([^'"]+)['"]/, 1],

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 = {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, is there no other option to just get those values from a different podspec?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

newline

"base": {
"ios": {
"image": "macos-sequoia-15.3-xcode-16.2"
"image": "latest"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe better to have it set manually, no strong opinion on that though.

Copy link
Collaborator Author

@MiloszFilimowski MiloszFilimowski Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

eas build Build and submit app for testing using EAS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments