fix(expo): avoid AppCheckCore Google Sign-In regression#8895
Conversation
🦋 Changeset detectedLatest commit: 7bddbbe The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThe ChangesAppCheckCore Dependency Pin for Expo iOS
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
@clerk/astro
@clerk/backend
@clerk/chrome-extension
@clerk/clerk-js
@clerk/expo
@clerk/expo-passkeys
@clerk/express
@clerk/fastify
@clerk/hono
@clerk/localizations
@clerk/nextjs
@clerk/nuxt
@clerk/react
@clerk/react-router
@clerk/shared
@clerk/tanstack-react-start
@clerk/testing
@clerk/ui
@clerk/upgrade
@clerk/vue
commit: |
API Changes Report
Summary
No API Changes DetectedAll packages have stable APIs with no detected changes. Report generated by Break Check Last ran on |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/expo/app.plugin.js`:
- Around line 35-37: The pod detection logic using exact string matching in the
filter function checking GOOGLE_SIGN_IN_MODULAR_HEADER_PODS is too rigid and
fails to recognize valid pod declarations that use alternative syntax (such as
double quotes instead of single quotes, or using modular_headers: true instead
of :modular_headers => true). Replace the exact string matching approach with a
more flexible pattern (such as a regular expression) that can detect if a pod is
already declared with modular_headers enabled regardless of quote style or
symbol format, ensuring the filter correctly identifies truly missing pods and
prevents duplicate pod entries.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Repository UI (inherited)
Review profile: CHILL
Plan: Pro
Run ID: d88e7d60-388a-47b3-bd52-4a7e6f32902a
📒 Files selected for processing (3)
.changeset/expo-google-modular-headers.mdpackages/expo/app.plugin.jspackages/expo/src/__tests__/appPlugin.googleSignInPods.test.js
7a4f9b4 to
d8c33d5
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d8c33d55a2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
d8c33d5 to
7bddbbe
Compare
Summary
Emergency unblock for iOS prebuild failures caused by the latest Google Sign-In pod graph.
Fresh pod installs can resolve
GoogleSignIn 9.2.0, which allowsAppCheckCore 11.3.0.AppCheckCore 11.3.0addsRecaptchaInterop; in Expo's default static CocoaPods setup that can fail unless apps add extra modular-header configuration.Rather than mutating generated app Podfiles, this PR constrains
ClerkGoogleSignInaway from the problematic AppCheckCore version for now:GoogleSignIn ~> 9.0AppCheckCore < 11.3.0This keeps fresh installs on the known-working AppCheckCore 11.2.x graph and avoids pulling in
RecaptchaInterop.Why this shape
The earlier Podfile-mutation approach fixed the immediate failure, but it quickly became brittle because Podfiles can have custom targets, existing pod declarations, and
use_expo_modules!variants. This emergency fix avoids editing user Podfiles entirely.Validation
GoogleSignIn 9.2.0,AppCheckCore 11.3.0,RecaptchaInterop 101.0.0.GoogleSignIn ~> 9.0plusAppCheckCore < 11.3.0resolves:GoogleSignIn 9.2.0AppCheckCore 11.2.0RecaptchaInteropruby -c packages/expo/ios/ClerkGoogleSignIn.podspec.Summary by CodeRabbit