Repository navigation
fix(otter): read Developer ID profiles that grant Associated Domains as a string - #41
Merged
Merged
Conversation
…as a string Apple's Developer ID (Mac) profile grants com.apple.developer.associated-domains as the bare string "*". The profile schema only accepted a list, so the whole profile was rejected and no passkey entitlement was claimed: nightly .383 shipped without the WebAuthn keychain group. Accept both forms, and make the fixture match the profile Apple issued. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Laurin-Notemann
force-pushed
the
fix/macos-profile-string-domains
branch
from
October 12, 2026 13:44
bba611c to
a87c94c
Compare
Laurin-Notemann
added a commit
that referenced
this pull request
Oct 13, 2026
* fix(otter): mobile app no longer crashes on launch on iOS 27 betas (#37) react-native-screens sets UINavigationItem.navigationBarMinimization behind @available(iOS 27.0), but early iOS 27 betas lack the setter. Builds made with the iOS 27.1 SDK compile the call in, so the app aborts with an unrecognized selector when the first header attaches. Check respondsToSelector: before using it. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs(otter): stop keeping backup branches on sync (#36) Syncs pushed backup/otter-before-<date> on every run. The squash commits already record the fork's changes, so the backups are dropped. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): defer SSH launches to the background service (#38) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): iPhone app no longer stays blank on iOS 27.1+ (#39) T3LayoutMetricsView withheld layout metrics on iOS 27.1+ until UIHingeInteraction reported, but phones without a hinge never get an update. The workspace navigator waits for those metrics before attaching any screen, so the app stayed black or white. Publish as hinge-less right away and switch when a hinge reports. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): provision macOS browser passkey releases (#40) Restore the signing hunks from upstream 3e01c4b, 2f7616e, and 454b94a, which are already in the branch ancestry. Keep Otter account policy in scripts/otter and regenerate workflow adaptations through the fork adapter. Make the profile optional, select only used profile grants, preserve hardened-runtime entitlements, and publish matching WebAuthn runtime metadata. Add profile fixtures and document the separate Otterware secret and pending Apple capability. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): read Developer ID profiles that grant Associated Domains as a string (#41) Apple's Developer ID (Mac) profile grants com.apple.developer.associated-domains as the bare string "*". The profile schema only accepted a list, so the whole profile was rejected and no passkey entitlement was claimed: nightly .383 shipped without the WebAuthn keychain group. Accept both forms, and make the fixture match the profile Apple issued. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ci): fingerprint base after filtered install rewrites * fix(deps): keep micromark parser extension types aligned --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Laurin-Notemann
added a commit
that referenced
this pull request
Oct 14, 2026
* fix(otter): mobile app no longer crashes on launch on iOS 27 betas (#37) react-native-screens sets UINavigationItem.navigationBarMinimization behind @available(iOS 27.0), but early iOS 27 betas lack the setter. Builds made with the iOS 27.1 SDK compile the call in, so the app aborts with an unrecognized selector when the first header attaches. Check respondsToSelector: before using it. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs(otter): stop keeping backup branches on sync (#36) Syncs pushed backup/otter-before-<date> on every run. The squash commits already record the fork's changes, so the backups are dropped. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): defer SSH launches to the background service (#38) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): iPhone app no longer stays blank on iOS 27.1+ (#39) T3LayoutMetricsView withheld layout metrics on iOS 27.1+ until UIHingeInteraction reported, but phones without a hinge never get an update. The workspace navigator waits for those metrics before attaching any screen, so the app stayed black or white. Publish as hinge-less right away and switch when a hinge reports. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): provision macOS browser passkey releases (#40) Restore the signing hunks from upstream 3e01c4b, 2f7616e, and 454b94a, which are already in the branch ancestry. Keep Otter account policy in scripts/otter and regenerate workflow adaptations through the fork adapter. Make the profile optional, select only used profile grants, preserve hardened-runtime entitlements, and publish matching WebAuthn runtime metadata. Add profile fixtures and document the separate Otterware secret and pending Apple capability. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): read Developer ID profiles that grant Associated Domains as a string (#41) Apple's Developer ID (Mac) profile grants com.apple.developer.associated-domains as the bare string "*". The profile schema only accepted a list, so the whole profile was rejected and no passkey entitlement was claimed: nightly .383 shipped without the WebAuthn keychain group. Accept both forms, and make the fixture match the profile Apple issued. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ci): fingerprint base after filtered install rewrites * fix(deps): keep micromark parser extension types aligned --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
ckafrouni
pushed a commit
that referenced
this pull request
Oct 16, 2026
* fix(otter): mobile app no longer crashes on launch on iOS 27 betas (#37) react-native-screens sets UINavigationItem.navigationBarMinimization behind @available(iOS 27.0), but early iOS 27 betas lack the setter. Builds made with the iOS 27.1 SDK compile the call in, so the app aborts with an unrecognized selector when the first header attaches. Check respondsToSelector: before using it. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs(otter): stop keeping backup branches on sync (#36) Syncs pushed backup/otter-before-<date> on every run. The squash commits already record the fork's changes, so the backups are dropped. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): defer SSH launches to the background service (#38) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): iPhone app no longer stays blank on iOS 27.1+ (#39) T3LayoutMetricsView withheld layout metrics on iOS 27.1+ until UIHingeInteraction reported, but phones without a hinge never get an update. The workspace navigator waits for those metrics before attaching any screen, so the app stayed black or white. Publish as hinge-less right away and switch when a hinge reports. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): provision macOS browser passkey releases (#40) Restore the signing hunks from upstream 3e01c4b, 2f7616e, and 454b94a, which are already in the branch ancestry. Keep Otter account policy in scripts/otter and regenerate workflow adaptations through the fork adapter. Make the profile optional, select only used profile grants, preserve hardened-runtime entitlements, and publish matching WebAuthn runtime metadata. Add profile fixtures and document the separate Otterware secret and pending Apple capability. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): read Developer ID profiles that grant Associated Domains as a string (#41) Apple's Developer ID (Mac) profile grants com.apple.developer.associated-domains as the bare string "*". The profile schema only accepted a list, so the whole profile was rejected and no passkey entitlement was claimed: nightly .383 shipped without the WebAuthn keychain group. Accept both forms, and make the fixture match the profile Apple issued. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ci): fingerprint base after filtered install rewrites * fix(deps): keep micromark parser extension types aligned --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
ckafrouni
pushed a commit
that referenced
this pull request
Oct 16, 2026
* fix(otter): mobile app no longer crashes on launch on iOS 27 betas (#37) react-native-screens sets UINavigationItem.navigationBarMinimization behind @available(iOS 27.0), but early iOS 27 betas lack the setter. Builds made with the iOS 27.1 SDK compile the call in, so the app aborts with an unrecognized selector when the first header attaches. Check respondsToSelector: before using it. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs(otter): stop keeping backup branches on sync (#36) Syncs pushed backup/otter-before-<date> on every run. The squash commits already record the fork's changes, so the backups are dropped. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): defer SSH launches to the background service (#38) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): iPhone app no longer stays blank on iOS 27.1+ (#39) T3LayoutMetricsView withheld layout metrics on iOS 27.1+ until UIHingeInteraction reported, but phones without a hinge never get an update. The workspace navigator waits for those metrics before attaching any screen, so the app stayed black or white. Publish as hinge-less right away and switch when a hinge reports. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): provision macOS browser passkey releases (#40) Restore the signing hunks from upstream 3e01c4b, 2f7616e, and 454b94a, which are already in the branch ancestry. Keep Otter account policy in scripts/otter and regenerate workflow adaptations through the fork adapter. Make the profile optional, select only used profile grants, preserve hardened-runtime entitlements, and publish matching WebAuthn runtime metadata. Add profile fixtures and document the separate Otterware secret and pending Apple capability. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): read Developer ID profiles that grant Associated Domains as a string (#41) Apple's Developer ID (Mac) profile grants com.apple.developer.associated-domains as the bare string "*". The profile schema only accepted a list, so the whole profile was rejected and no passkey entitlement was claimed: nightly .383 shipped without the WebAuthn keychain group. Accept both forms, and make the fixture match the profile Apple issued. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ci): fingerprint base after filtered install rewrites * fix(deps): keep micromark parser extension types aligned --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
ckafrouni
pushed a commit
that referenced
this pull request
Oct 16, 2026
* fix(otter): mobile app no longer crashes on launch on iOS 27 betas (#37) react-native-screens sets UINavigationItem.navigationBarMinimization behind @available(iOS 27.0), but early iOS 27 betas lack the setter. Builds made with the iOS 27.1 SDK compile the call in, so the app aborts with an unrecognized selector when the first header attaches. Check respondsToSelector: before using it. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs(otter): stop keeping backup branches on sync (#36) Syncs pushed backup/otter-before-<date> on every run. The squash commits already record the fork's changes, so the backups are dropped. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): defer SSH launches to the background service (#38) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): iPhone app no longer stays blank on iOS 27.1+ (#39) T3LayoutMetricsView withheld layout metrics on iOS 27.1+ until UIHingeInteraction reported, but phones without a hinge never get an update. The workspace navigator waits for those metrics before attaching any screen, so the app stayed black or white. Publish as hinge-less right away and switch when a hinge reports. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): provision macOS browser passkey releases (#40) Restore the signing hunks from upstream 3e01c4b, 2f7616e, and 454b94a, which are already in the branch ancestry. Keep Otter account policy in scripts/otter and regenerate workflow adaptations through the fork adapter. Make the profile optional, select only used profile grants, preserve hardened-runtime entitlements, and publish matching WebAuthn runtime metadata. Add profile fixtures and document the separate Otterware secret and pending Apple capability. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(otter): read Developer ID profiles that grant Associated Domains as a string (#41) Apple's Developer ID (Mac) profile grants com.apple.developer.associated-domains as the bare string "*". The profile schema only accepted a list, so the whole profile was rejected and no passkey entitlement was claimed: nightly .383 shipped without the WebAuthn keychain group. Accept both forms, and make the fixture match the profile Apple issued. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ci): fingerprint base after filtered install rewrites * fix(deps): keep micromark parser extension types aligned --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
Nightly 0.0.46-nightly.20261012.383 embedded the provisioning profile but claimed no passkey entitlement. Checking the signed app on a Mac showed no
keychain-access-groups, and the build log listed only the hardened-runtime entitlements.Cause: Apple's Developer ID (Mac) profile grants
com.apple.developer.associated-domainsas the bare string"*". The profile schema only accepted a list, so the profile was rejected as a whole and granted nothing.Fix: accept a string or a list. The test fixture now matches the profile Apple issued (string wildcard, push, app groups). Checked against the real profile: it yields
YNJ5WLH965.dev.otterware.code.webauthn. 81 tests and the scripts typecheck pass.🤖 Generated with Claude Code