Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
5b01c23
fix full screen uiviewcontroller
mikepitre May 27, 2026
cb32912
fix(expo): add changeset for auth view presentation
mikepitre May 28, 2026
a1f2735
Remove unused auth presentation bridge from Expo native module
mikepitre May 28, 2026
d115463
Remove unused Expo prebuilt bridge code
mikepitre May 28, 2026
58a2f9f
Remove Expo prebuilt user profile presentation path
mikepitre May 28, 2026
47019b2
Make UserButton circular by default
mikepitre May 28, 2026
807bb18
Align Expo UserButton with native SDKs
mikepitre May 28, 2026
701e18e
fix(expo): mark prebuilt changeset as minor
mikepitre May 28, 2026
f8bc614
fix(expo): remove redundant setActive guard
mikepitre May 28, 2026
8d5bd72
fix(expo): address native prebuilt review comments
mikepitre May 29, 2026
6148514
fix(expo): allow codegen-only user button props
mikepitre May 29, 2026
498f4c1
refactor(expo): clean up native prebuilt views
mikepitre Jun 1, 2026
0cba9a5
fix(expo): spell dismissible prop correctly
mikepitre Jun 1, 2026
bc9331e
Default prebuilt Expo views to dismissible
mikepitre Jun 1, 2026
fc66fdf
Refresh opposite client on Expo auth state changes
mikepitre Jun 3, 2026
3263f20
No. We already had polling in `ClerkProvider`, but it was polling `get`
mikepitre Jun 3, 2026
10cab54
Sync Expo native session refresh through ClerkProvider
mikepitre Jun 3, 2026
bb1d6b2
Guard native auth dismissal while refreshing client
mikepitre Jun 3, 2026
0fe6500
Align Android Expo sync with native client flow
mikepitre Jun 4, 2026
86b3c5f
Refactor Expo native view hosting
mikepitre Jun 4, 2026
615ed73
Rename ClerkViewFactory to ClerkNativeBridge
mikepitre Jun 4, 2026
5547d1e
Refactor Expo native view managers
mikepitre Jun 4, 2026
a3cf8dc
Co-locate Expo Android view managers with their native views
mikepitre Jun 4, 2026
42b158c
Route native auth dismissals through hosting controllers
mikepitre Jun 4, 2026
c656f65
Remove inferred dismissal handling from Expo native hosts
mikepitre Jun 4, 2026
f7fe38c
Refactor client token cache sync
mikepitre Jun 4, 2026
4e4be26
Migrate Expo Android to Expo Modules API
mikepitre Jun 4, 2026
ef61cf2
Document Android dismissible props as pending native support
mikepitre Jun 4, 2026
354e2ea
Sync native client on JS resource changes
mikepitre Jun 4, 2026
4168cff
fix(expo): address native prebuilt review feedback
mikepitre Jun 4, 2026
23ebb42
Allow undefined native clerk instance in Expo provider
mikepitre Jun 4, 2026
591532c
fix(expo): allow undefined native bootstrap clerk instance
mikepitre Jun 4, 2026
d995f3c
Pass AuthView dismissibility through on Android
mikepitre Jun 4, 2026
4d4705d
fix(expo): let android/ios prebuilt views own backgrounds
mikepitre Jun 4, 2026
28e02ab
Apply suggestion from @wobsoriano
mikepitre Jun 5, 2026
217e4c7
fix(expo): relay iOS native view dismissals
mikepitre Jun 5, 2026
d1a8188
chore(expo): consolidate native prebuilt changeset
mikepitre Jun 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/bump-expo-native-sdks.md

This file was deleted.

5 changes: 5 additions & 0 deletions .changeset/fullscreen-auth-view.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@clerk/expo": patch
---

Fix native iOS auth view presentation for full screen UIViewController flows.
9 changes: 9 additions & 0 deletions .changeset/remove-expo-present-auth.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@clerk/expo': minor
---

Update Expo's beta native prebuilt components to more closely match the behavior of Clerk's native iOS and Android SDKs.

Previously, native auth and profile views relied on Expo-specific presentation behavior. `AuthView` and `UserProfileView` are now app-presented components, with dismissal handled through `onDismiss`. This also improves session synchronization between Clerk's JavaScript and native layers.

**Note:** This includes native changes, so rebuild your native app after upgrading (`expo prebuild --clean` or a new EAS build).
12 changes: 5 additions & 7 deletions packages/expo/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@ plugins {
id 'org.jetbrains.kotlin.plugin.compose' version '2.1.20'
}

// Required for React Native codegen to generate Fabric component descriptors
if (project.hasProperty("newArchEnabled") && project.newArchEnabled == "true") {
apply plugin: "com.facebook.react"
}
def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
apply from: expoModulesCorePlugin
applyKotlinExpoModulesCorePlugin()

group = 'com.clerk.expo'
version = '1.0.0'
Expand Down Expand Up @@ -72,7 +71,7 @@ android {

sourceSets {
main {
java.srcDirs = ['src/main/java', "${project.buildDir}/generated/source/codegen/java"]
java.srcDirs = ['src/main/java']
}
}
}
Expand All @@ -96,8 +95,7 @@ try {
}

dependencies {
// React Native
implementation 'com.facebook.react:react-native:+'
implementation project(':expo-modules-core')

// Credential Manager for Google Sign-In with nonce support
implementation "androidx.credentials:credentials:$credentialsVersion"
Expand Down
13 changes: 0 additions & 13 deletions packages/expo/android/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application>
<!-- Clerk Auth Activity - hosts AuthView for sign-in/sign-up flows -->
<activity
android:name="expo.modules.clerk.ClerkAuthActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:exported="false"
android:windowSoftInputMode="adjustResize" />

<!-- Clerk User Profile Activity - hosts UserProfileView for account management -->
<activity
android:name="expo.modules.clerk.ClerkUserProfileActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:exported="false"
android:windowSoftInputMode="adjustResize" />
</application>
</manifest>

This file was deleted.

Loading
Loading