Repository navigation
Conversation
Signed macOS builds always claimed Associated Domains, so they required a Clerk RP domain even when the provisioning profile only grants the in-app browser passkey entitlement. Claim Associated Domains only when the profile grants it, as the packager already does for Touch ID and browser passkeys, and require a Clerk domain only then. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — Signed macOS builds can omit Clerk domains when their provisioning profile does not grant Associated Domains. Profiles that grant the capability still require domains, keeping the change limited to profile-compatible packaging. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Before this PR
Signed macOS builds always claim
com.apple.developer.associated-domains. To fill it in, the build needs a Clerk RP domain (T3CODE_CLERK_PUBLISHABLE_KEYorT3CODE_CLERK_PASSKEY_RP_DOMAINS), and it throwsMissingMacPasskeyDomainConfigurationErrorif it has none. Those domains only serve T3 Connect passkey sign-in. The in-app browser passkey bridge from #16952 doesn't use them. It needscom.apple.developer.web-browser.public-key-credentialand nothing else.As a result, a build that has T3 Connect off but holds a profile with the browser passkey entitlement can't enable browser passkeys. We hit this in an internal fork that turns off T3 Connect: we want the bridge so security keys work in the in-app browser (the problem in #30599). Today our only option is a placeholder Clerk domain.
After this PR
The packager claims Associated Domains only when the provisioning profile grants it. It already works this way for the Touch ID keychain group and the browser passkey entitlement. A Clerk domain is required only in that case. A profile without Associated Domains now signs with just the entitlements it grants.
Why no prior issue
This is a small, focused fix under CONTRIBUTING's exception for obvious bugs. The defect: signed builds demand a Clerk domain for an entitlement the profile may not grant, which blocks browser passkeys. Profiles that grant Associated Domains, like upstream's, behave the same, and no product behavior changes.
Notes
com.apple.developer.associated-domains(usually*) in theirEntitlements. Please check the log line on the next signed release.MissingMacPasskeyRpDomainErrorcould no longer be reached, so it's removed.scripts/build-desktop-artifact.test.tsfail onmainwithMissingMacPasskeyDomainConfigurationErrorand pass with this change. I didn't run a signed build with a real Apple profile.🤖 Generated by Claude Code (Claude Opus 5.5)