Repository navigation
Conversation
The capability update replaces the identifiers linked to a bundle ID, but only the newly linked ones were sent. Adding a second App Group, Merchant ID or iCloud container unlinked the ones that were already linked. Fixes expo#4445
|
Subscribed to pull request
Generated by CodeMention Warning: The preamble and epilogue options in commentConfiguration are deprecated. Use template instead. |
Contributor
|
eas-cli now uses changesets for changelogs (#4580). The required "Check for a changeset" check fails on PRs that edit To update this PR:
The release adds the PR link and the author to the entry. If this PR needs no changelog entry, revert the |
Author
|
@douglowder Thanks, done. I reverted the CHANGELOG.md changes and added |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Fixes #4445.
When a bundle ID already has App Group A linked and the entitlements list both A and B, capability sync sends only B in the relationship update. The update replaces the linked identifiers, so A is unlinked and the provisioning profile no longer satisfies the app's entitlements. The same code path handles Merchant IDs and iCloud containers.
How
syncCapabilityIdentifiersForEntitlementsAsyncskipped identifiers that were already linked when building the relationship list. It now sends every identifier from the entitlements, and only issues an update when at least one of them is not linked yet. Thelinkedandcreatedresults it returns are unchanged, so the CLI output is the same.Test Plan
group.expoalready linked andgroup.baconnew: the update must contain both. It fails onmain(onlyXXX-group-2is sent) and passes with this change.yarn jest src/credentials/ios/appstoreinpackages/eas-cli: 76 tests pass.oxlintandoxfmt --checkare clean.I did not run this against the Apple Developer API. That the update replaces the linked identifiers is taken from the issue report and from the existing test, which expects an identifier missing from the entitlements to be dropped.