Skip to content

Expose Clerk Google sign-in env vars to Expo#3772

Merged
juliusmarminge merged 4 commits into
mainfrom
t3code/clerk-google-signin
Jul 7, 2026
Merged

Expose Clerk Google sign-in env vars to Expo#3772
juliusmarminge merged 4 commits into
mainfrom
t3code/clerk-google-signin

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Jul 7, 2026

Copy link
Copy Markdown
Member

Summary

  • Expose Clerk Google sign-in environment variables through apps/mobile/app.config.ts so Expo and @clerk/expo can read them from extra.
  • Preserve Clerk's expected shape by omitting unset values instead of serializing them as null.
  • Add the iOS Google URL scheme at config time so the Clerk plugin can register it during prebuild.

Testing

  • Not run (PR content only).
  • Existing project checks should be run before merge: vp check and vp run typecheck.

Note

Medium Risk
Touches authentication configuration and a major pnpm upgrade with native build patches; misconfigured Google client IDs or lockfile drift could break mobile sign-in or installs, but changes are scoped and CI workaround is documented.

Overview
Wires native Clerk Google sign-in into the Expo manifest by adding the four EXPO_PUBLIC_CLERK_GOOGLE_* keys on extra in app.config.ts (flat names, not under clerk), with unset env values left out so the manifest does not emit truthy {} placeholders that break Clerk fallbacks.

The same PR bumps the repo to pnpm 11.10.0: packageManager is updated, pnpm-workspace.yaml moves from onlyBuiltDependencies / ignoredBuiltDependencies to allowBuilds, and the lockfile is regenerated (including a new hash for the react-native-screens patch). That patch now adds Android no-op setters for iOS-only glass-chrome header props so codegen still compiles after the existing screens customization.

CI: preview and production EAS workflows install eas-cli with npm instead of pnpm, because pnpm 11 hard-fails installing dtrace-provider outside the repo’s allowBuilds config.

Reviewed by Cursor Bugbot for commit 5594edc. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Expose Clerk Google sign-in env vars to the Expo mobile app config

  • Adds four Google sign-in fields (EXPO_PUBLIC_CLERK_GOOGLE_WEB_CLIENT_ID, EXPO_PUBLIC_CLERK_GOOGLE_IOS_CLIENT_ID, EXPO_PUBLIC_CLERK_GOOGLE_ANDROID_CLIENT_ID, EXPO_PUBLIC_CLERK_GOOGLE_IOS_URL_SCHEME) to the extra block in app.config.ts; unset values are omitted rather than set to null.
  • Fixes EAS Preview and Production workflows to install eas-cli via npm instead of pnpm.
  • Updates pnpm-workspace.yaml to use allowBuilds per-dependency flags, replacing the previous ignoredBuiltDependencies/onlyBuiltDependencies approach.
  • Adds a patch for react-native-screens that stubs out iOS-only header props on Android to prevent codegen-native interface errors.

Macroscope summarized 5594edc.

- Pass native Google sign-in client IDs through app extra
- Include the iOS URL scheme needed by Clerk's config plugin
- Omit unset values so Clerk can fall back correctly
@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 9c3e270b-107e-4ab2-8630-b6746212f5b5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/clerk-google-signin

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Jul 7, 2026
@juliusmarminge juliusmarminge added eas-build Pull request label to create builds with EAS Build. 🚀 Mobile Continuous Deployment Trigger Expo preview build and removed eas-build Pull request label to create builds with EAS Build. labels Jul 7, 2026
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

🚀 Expo continuous deployment is ready!

  • Project → t3-code
  • Platforms → android, ios
  • Scheme → t3code-preview
  🤖 Android 🍎 iOS
Fingerprint d7423e18ea425d44a524b6af81fa82d5ab4ed54d a16bc74f7d86d49b427dcc194949c91f596fa894
Build Details Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: d7423e18ea425d44a524b6af81fa82d5ab4ed54d
App version: 0.1.0
Git commit: 455df925df35177fcb1e837e1b2c73df575f942c
Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: a16bc74f7d86d49b427dcc194949c91f596fa894
App version: 0.1.0
Git commit: 455df925df35177fcb1e837e1b2c73df575f942c
Update Details Update Permalink
DetailsBranch: pr-3772
Runtime version: d7423e18ea425d44a524b6af81fa82d5ab4ed54d
Git commit: 455df925df35177fcb1e837e1b2c73df575f942c
Update Permalink
DetailsBranch: pr-3772
Runtime version: a16bc74f7d86d49b427dcc194949c91f596fa894
Git commit: 455df925df35177fcb1e837e1b2c73df575f942c
Update QR

@macroscopeapp

macroscopeapp Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR enables Google native sign-in by exposing Clerk authentication credentials to the Expo mobile app. Changes affecting authentication functionality require human review to ensure proper security considerations.

You can customize Macroscope's approvability policy. Learn more.

- Update the workspace package manager version
- Regenerate the lockfile with the new pnpm layout
@github-actions github-actions Bot added size:XL 500-999 changed lines (additions + deletions). and removed size:XS 0-9 changed lines (additions + deletions). labels Jul 7, 2026
juliusmarminge and others added 2 commits July 7, 2026 11:40
pnpm 11 exits non-zero when an install ignores build scripts, and the
expo-github-action eas-cli install trips this on dtrace-provider (the
tool dir has no allowBuilds config). npm tolerates the optional build
failure; the repo install itself still uses pnpm.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The react-native-screens patch adds iOS-only props to the native spec,
so Android codegen requires the setters to exist. Ported the no-op
overrides from android-dev-pr-3514 (2b34778) to unblock Android EAS
builds on this branch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@juliusmarminge
juliusmarminge merged commit 0e00408 into main Jul 7, 2026
16 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/clerk-google-signin branch July 7, 2026 19:45
adamfgr pushed a commit to agriffiths-bots/t3code that referenced this pull request Jul 9, 2026
* Improve live activity routing and diagnostics (pingdotgg#3685)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Use variant-specific splash icons in mobile app (pingdotgg#3762)

* Fix Expo widget asset wiring order (pingdotgg#3763)

* Extend Done display to 15 minutes and show up to 5 Live Activity banner rows (pingdotgg#3761)

* Lead with the outcome when no agents are active in the Live Activity (pingdotgg#3768)

* Add T3 Connect onboarding for mobile and web (pingdotgg#3765)

* Revert "Add T3 Connect onboarding for mobile and web" (pingdotgg#3776)

* Expose Clerk Google sign-in env vars to Expo (pingdotgg#3772)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Revert "Revert "Add T3 Connect onboarding for mobile and web"" (pingdotgg#3777)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Use rounded depth logo for production splash screen (pingdotgg#3780)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* Upgrade Clerk toolchain to latest versions (pingdotgg#3785)

* fix(release): bump electron-builder so pnpm 11 deduped deps land in the asar (pingdotgg#3790)

* chore: regenerate pnpm-lock after upstream sync (20260709)

Reconcile the lockfile with the fork's package.json set (croner, web-push,
hast-util-*, etc.) after cherry-picking upstream's Clerk toolchain and
electron-builder bumps. Frozen-lockfile install verified.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Rowan <rowan@cardow.co>
Co-authored-by: wizzoapp[bot] <254688279+wizzoapp[bot]@users.noreply.github.com>
tarik02 added a commit to tarik02/t3code that referenced this pull request Jul 13, 2026
* Add middle-click close for right panel tabs (pingdotgg#3161)

Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* fix: warm WSL before preflight in WSL-only backend mode (pingdotgg#3588)

* Add Claude Sonnet 5 as the default Claude model (pingdotgg#3620)

* Restore the ultrathink frame border effect (pingdotgg#3625)

* fix(dev): Fix electron dev launch and add test (pingdotgg#3662)

* Add adaptive split-view layout for iPad/mobile workspace (pingdotgg#3514)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(mobile): compile patched native pods from source on EAS (pingdotgg#3667)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Make the thread composer read as elevated liquid glass (pingdotgg#3668)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Upgrade Vite Plus and enable bundled dev opt-in (pingdotgg#3679)

* Surface pending tasks in mobile home and draft flow (pingdotgg#3670)

* fix(mobile): combined test branch — scroll, back-swipe, thread lists, computer switching (pingdotgg#3687)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Add repo-root favicon.svg so t3 code shows its own icon (pingdotgg#3683)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Load thread snapshots over HTTP before live sync (pingdotgg#3719)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Fix mobile legend anchor under automatic iOS insets (pingdotgg#3684)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Improve live activity routing and diagnostics (pingdotgg#3685)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Prevent Add Project sheet from collapsing on relayout (pingdotgg#3759)

* Use variant-specific splash icons in mobile app (pingdotgg#3762)

* Fix Expo widget asset wiring order (pingdotgg#3763)

* Extend Done display to 15 minutes and show up to 5 Live Activity banner rows (pingdotgg#3761)

* Clear VCS presentation state on finish (pingdotgg#3764)

* Lead with the outcome when no agents are active in the Live Activity (pingdotgg#3768)

* Add T3 Connect onboarding for mobile and web (pingdotgg#3765)

* Revert "Add T3 Connect onboarding for mobile and web" (pingdotgg#3776)

* Expose Clerk Google sign-in env vars to Expo (pingdotgg#3772)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Set up Cursor Cloud dev environment (web + Android toolchain) (pingdotgg#3755)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Theo Browne <t3dotgg@users.noreply.github.com>

* Revert "Revert "Add T3 Connect onboarding for mobile and web"" (pingdotgg#3777)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* Use rounded depth logo for production splash screen (pingdotgg#3780)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* fix(release): stage pnpm 11 allowBuilds for desktop installs (pingdotgg#3781)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* Upgrade Clerk toolchain to latest versions (pingdotgg#3785)

* fix(release): bump electron-builder so pnpm 11 deduped deps land in the asar (pingdotgg#3790)

* Fix desktop native optional dependency packaging (pingdotgg#3816)

* [codex] Upgrade Clerk stack (pingdotgg#3821)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Preserve worktree metadata during branch sync (pingdotgg#3822)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(client): persist offline environment data and mobile preferences (pingdotgg#3795)

Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Label max and ultra reasoning (pingdotgg#3824)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): embed fonts and render project favicons reliably (pingdotgg#3823)

Co-authored-by: codex <codex@users.noreply.github.com>

* Show compact PR number badges in mobile thread rows (pingdotgg#3827)

Co-authored-by: codex <codex@users.noreply.github.com>

* Expose mobile PR indicator labels to accessibility (pingdotgg#3828)

Co-authored-by: codex <codex@users.noreply.github.com>

* Fix truncated chat error alert layout (pingdotgg#3899)

* fix(marketing): show platform-appropriate commit shortcut on the website (pingdotgg#3644)

* [codex] Add Android mobile support (pingdotgg#3579)

Co-authored-by: Horus Lugo <horusgoul@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>

---------

Co-authored-by: Hugo Blom <6117705+huxcrux@users.noreply.github.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Theo Browne <t3dotgg@users.noreply.github.com>
Co-authored-by: Rowan <rowan@cardow.co>
Co-authored-by: Patricio Gómez Meneses <107218376+Prgm-code@users.noreply.github.com>
Co-authored-by: Jake Leventhal <jakeleventhal@me.com>
Co-authored-by: Vedank Purohit <VedankPurohit2@gmail.com>
Co-authored-by: Horus Lugo <horusgoul@gmail.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🚀 Mobile Continuous Deployment Trigger Expo preview build size:XL 500-999 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant