diff --git a/apps/mobile/app.config.ts b/apps/mobile/app.config.ts
index 5324d0f356f4..1e15053c78ff 100644
--- a/apps/mobile/app.config.ts
+++ b/apps/mobile/app.config.ts
@@ -175,7 +175,7 @@ const config: ExpoConfig = {
slug: "t3-code",
platforms: ["ios", "android"],
scheme: variant.scheme,
- version: "1.0.1",
+ version: "1.0.2",
// Default: fingerprint policy so OTAs only reach binaries with matching native
// inputs (deps, config plugins, patches). Override with MOBILE_RUNTIME_VERSION_OVERRIDE
// when CI must ship pure-JS fixes to an already-installed binary (e.g. Free-plan
diff --git a/apps/mobile/modules/t3-terminal/ios/T3TerminalView.swift b/apps/mobile/modules/t3-terminal/ios/T3TerminalView.swift
index 659837fc7abd..cee4d0427c60 100644
--- a/apps/mobile/modules/t3-terminal/ios/T3TerminalView.swift
+++ b/apps/mobile/modules/t3-terminal/ios/T3TerminalView.swift
@@ -535,6 +535,12 @@ public final class T3TerminalView: ExpoView, UITextFieldDelegate {
return
}
+ if buffer.isEmpty {
+ feedData(Data("\u{1B}[3J\u{1B}[H\u{1B}[2J".utf8))
+ lastAppliedBuffer = ""
+ return
+ }
+
if buffer.hasPrefix(lastAppliedBuffer) {
let suffix = String(buffer.dropFirst(lastAppliedBuffer.count))
feedData(Data(suffix.utf8))
diff --git a/apps/mobile/src/features/connection/ConnectionsRouteScreen.tsx b/apps/mobile/src/features/connection/ConnectionsRouteScreen.tsx
index 45132fd9ced9..464477ffc874 100644
--- a/apps/mobile/src/features/connection/ConnectionsRouteScreen.tsx
+++ b/apps/mobile/src/features/connection/ConnectionsRouteScreen.tsx
@@ -58,8 +58,8 @@ export function ConnectionsRouteScreen() {
contentInsetAdjustmentBehavior="automatic"
showsVerticalScrollIndicator={false}
className="flex-1"
- contentInset={{ bottom: Math.max(insets.bottom, 18) + 18 }}
contentContainerStyle={{
+ paddingBottom: Math.max(insets.bottom, 18) + 18,
paddingHorizontal: 20,
paddingTop: 16,
}}
diff --git a/apps/mobile/src/features/settings/SettingsAuthRouteScreen.tsx b/apps/mobile/src/features/settings/SettingsAuthRouteScreen.tsx
index f6f92f5fc845..e4efdf70c317 100644
--- a/apps/mobile/src/features/settings/SettingsAuthRouteScreen.tsx
+++ b/apps/mobile/src/features/settings/SettingsAuthRouteScreen.tsx
@@ -2,7 +2,7 @@ import { useAuth } from "@clerk/expo";
import { AuthView, UserProfileView } from "@clerk/expo/native";
import { StackActions, useNavigation } from "@react-navigation/native";
import { NativeStackScreenOptions } from "../../native/StackHeader";
-import { useEffect } from "react";
+import { useCallback, useEffect } from "react";
import { View } from "react-native";
import { hasCloudPublicConfig } from "../cloud/publicConfig";
@@ -21,16 +21,18 @@ export function SettingsAuthRouteScreen() {
function ConfiguredSettingsAuthRouteScreen() {
const { isLoaded, isSignedIn } = useAuth({ treatPendingAsSignedOut: false });
+ const navigation = useNavigation();
+ const handleHostBack = useCallback(() => navigation.goBack(), [navigation]);
return (
<>
-
+
{isLoaded ? (
isSignedIn ? (
-
+
) : (
-
+
)
) : null}
diff --git a/apps/mobile/src/features/threads/NewTaskRouteScreen.tsx b/apps/mobile/src/features/threads/NewTaskRouteScreen.tsx
index f59218259288..bc044d905b47 100644
--- a/apps/mobile/src/features/threads/NewTaskRouteScreen.tsx
+++ b/apps/mobile/src/features/threads/NewTaskRouteScreen.tsx
@@ -235,10 +235,9 @@ export function NewTaskRouteScreen({ route }: StaticScreenProps
+ {/* The backdrop gradient lives on a plain View: Reanimated's Animated.View
+ silently drops experimental_backgroundImage on Android, which left this
+ strip fully transparent and the feed text legible through the composer. */}
+
void;
onSnooze: (threadRef: ScopedThreadRef, preset: SnoozePreset) => void;
onUnsnooze: (threadRef: ScopedThreadRef) => void;
+ onUnpin: (threadRef: ScopedThreadRef) => void;
onAcknowledgeWoke: (threadRef: ScopedThreadRef, visitedAt: string) => void;
onChangeRequestState: (threadKey: string, state: "open" | "closed" | "merged" | null) => void;
}) {
@@ -531,6 +536,7 @@ const SidebarV2Row = memo(function SidebarV2Row(props: {
onThreadClick,
onUnsettle,
onUnsnooze,
+ onUnpin,
renamingTitle,
thread,
variant,
@@ -798,6 +804,14 @@ const SidebarV2Row = memo(function SidebarV2Row(props: {
},
[onUnsnooze, threadRef],
);
+ const handleUnpinClick = useCallback(
+ (event: ReactMouseEvent) => {
+ event.preventDefault();
+ event.stopPropagation();
+ onUnpin(threadRef);
+ },
+ [onUnpin, threadRef],
+ );
const handleSnoozePreset = useCallback(
(preset: SnoozePreset) => {
onSnooze(threadRef, preset);
@@ -1107,11 +1121,23 @@ const SidebarV2Row = memo(function SidebarV2Row(props: {
)}
{props.isPinned ? (
-
+ props.pinningSupported ? (
+
+ ) : (
+
+ )
) : null}
{/* The visible state owns this slot's width: status at rest,
actions on hover/keyboard focus or while the popover is open. Keeping
@@ -3038,12 +3064,14 @@ export default function SidebarV2() {
}, [isMobile, router, setOpenMobile]);
const commandPaletteShortcutLabel = shortcutLabelForCommand(keybindings, "commandPalette.toggle");
- // Same resolution as v1: prefer the local-thread binding, fall back to
- // chat.new, no platform gating — web users have working shortcuts too.
- const newThreadShortcutLabel =
- shortcutLabelForCommand(keybindings, "chat.newLocal") ??
- shortcutLabelForCommand(keybindings, "chat.new");
const boardShortcutLabel = shortcutLabelForCommand(keybindings, "board.open");
+ // The button mirrors chat.new: in multi-project setups both route through
+ // the command palette's "New thread in..." picker, and in single-project
+ // setups both create immediately. chat.newLocal always creates directly, so
+ // it is only a correct label when chat.new is unbound.
+ const newThreadShortcutLabel =
+ shortcutLabelForCommand(keybindings, "chat.new") ??
+ shortcutLabelForCommand(keybindings, "chat.newLocal");
return (
<>
@@ -3550,6 +3578,10 @@ export default function SidebarV2() {
serverConfigs.get(thread.environmentId)?.environment.capabilities
.threadSnooze === true
}
+ pinningSupported={
+ serverConfigs.get(thread.environmentId)?.environment.capabilities
+ .threadPinning === true
+ }
isPinned={section === "pinned"}
snoozeWakeLabelText={
section === "snoozed" && thread.snoozedUntil != null
@@ -3590,6 +3622,7 @@ export default function SidebarV2() {
onUnsettle={attemptUnsettle}
onSnooze={attemptSnooze}
onUnsnooze={attemptUnsnooze}
+ onUnpin={attemptUnpin}
onAcknowledgeWoke={acknowledgeWoke}
onChangeRequestState={handleChangeRequestState}
/>
diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts
index d47ff312177c..de9053c28781 100644
--- a/apps/web/vite.config.ts
+++ b/apps/web/vite.config.ts
@@ -90,6 +90,15 @@ const isolatedUnitTestFiles = [
"src/components/preview/PreviewView.test.tsx",
"src/components/preview/openPreviewSession.test.ts",
"src/components/preview/openTerminalLinkInPreview.test.ts",
+ // Tests that mock `react` itself and drive components through
+ // reactHookHarness need their own module registry: under `isolate: false`
+ // the component graph may already be bound to the real react/compiler
+ // runtime by an earlier file in the same worker, and the mock then never
+ // applies — the compiled component reports a memo-cache hit and skips the
+ // hooks these tests assert on. Upstream ships these without isolation
+ // because it does not share registries; the fork does.
+ "src/components/settings/AddProviderInstanceDialog.environment.test.tsx",
+ "src/components/settings/ProviderSettingsPanel.environment.test.tsx",
"src/connection/storage.test.ts",
"src/contextMenuFallback.test.ts",
"src/environments/primary/bootstrap.test.ts",
diff --git a/patches/@react-native__gradle-plugin@0.85.3.patch b/patches/@react-native__gradle-plugin@0.85.3.patch
new file mode 100644
index 000000000000..7106ccca4ac3
--- /dev/null
+++ b/patches/@react-native__gradle-plugin@0.85.3.patch
@@ -0,0 +1,13 @@
+diff --git a/settings.gradle.kts b/settings.gradle.kts
+index b3c46a3bf5eb21c0bb1c9435b5582aecbc57d57a..14f1e9c2063ef10ca3f2ecbb2336b8a4aacfcc9c 100644
+--- a/settings.gradle.kts
++++ b/settings.gradle.kts
+@@ -13,7 +13,7 @@ pluginManagement {
+ }
+ }
+
+-plugins { id("org.gradle.toolchains.foojay-resolver-convention").version("0.5.0") }
++plugins { id("org.gradle.toolchains.foojay-resolver-convention").version("1.0.0") }
+
+ include(
+ ":react-native-gradle-plugin",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 616091ef1082..75da172154eb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -39,7 +39,7 @@ catalogs:
overrides:
'@clerk/backend': 3.14.0
- '@clerk/clerk-js': 6.25.12
+ '@clerk/clerk-js': 6.25.13
'@clerk/clerk-js>@base-org/account': '-'
'@clerk/clerk-js>@coinbase/wallet-sdk': '-'
'@clerk/clerk-js>@solana/wallet-adapter-base': '-'
@@ -48,9 +48,9 @@ overrides:
'@clerk/clerk-js>@wallet-standard/core': '-'
'@clerk/electron': 0.0.24
'@clerk/electron-passkeys': 0.0.3
- '@clerk/expo': 4.1.2
- '@clerk/react': 6.12.9
- '@clerk/shared': 4.25.9
+ '@clerk/expo': 4.2.0
+ '@clerk/react': 6.12.10
+ '@clerk/shared': 4.25.10
'@effect/atom-react': 4.0.0-beta.103
'@effect/platform-bun': 4.0.0-beta.103
'@effect/platform-node': 4.0.0-beta.103
@@ -78,6 +78,7 @@ patchedDependencies:
'@legendapp/list@3.3.3': d162d67b73933ab077d00627cdf52b18ea88b28c4fae4e8340a854df25026f09
'@pierre/diffs@1.3.0-beta.10': 7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa
'@react-native-menu/menu@2.0.0': 5ea3ae4bf1d9baf5443b65c269bb09621c27a68d556f713778f37b1e8d46aaae
+ '@react-native/gradle-plugin@0.85.3': c1b594a16e682d621b6a960926f8ce13fc92edfb397884cfe7fcb0518996a784
'@react-navigation/native-stack@7.17.6': c7fc101b78d434904425e5a24c22fb0042298dec6f807250486e784f3c717273
effect@4.0.0-beta.103: af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6
expo-modules-jsi@56.0.10: 9170f8074ae4e35a0a086e756c8f815794fd3abe51eac67ca3ba02804225ec1f
@@ -244,8 +245,8 @@ importers:
specifier: ^0.7.1
version: 0.7.1(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
'@clerk/expo':
- specifier: 4.1.2
- version: 4.1.2(expo-auth-session@56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo-constants@56.0.18)(expo-crypto@56.0.4(expo@56.0.12))(expo-secure-store@56.0.4(expo@56.0.12))(expo-web-browser@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)
+ specifier: 4.2.0
+ version: 4.2.0(expo-auth-session@56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo-constants@56.0.18)(expo-crypto@56.0.4(expo@56.0.12))(expo-secure-store@56.0.4(expo@56.0.12))(expo-web-browser@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)
'@effect/atom-react':
specifier: 4.0.0-beta.103
version: 4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(react@19.2.3)(scheduler@0.27.0)
@@ -595,8 +596,8 @@ importers:
specifier: 0.0.24
version: 0.0.24(@clerk/electron-passkeys@0.0.3)(electron-store@8.2.0)(electron@41.5.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@clerk/react':
- specifier: 6.12.9
- version: 6.12.9(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ specifier: 6.12.10
+ version: 6.12.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@dnd-kit/core':
specifier: ^6.3.1
version: 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
@@ -1785,8 +1786,8 @@ packages:
resolution: {integrity: sha512-WsphTvDFHDuQilKI7dyVE5qmt7USu8qSrujAq6SqpEHbVFfNBfINDNuzxlF9M2skOTfHFfgiTE8Jjb1egIBGLg==}
engines: {node: '>=20.9.0'}
- '@clerk/clerk-js@6.25.12':
- resolution: {integrity: sha512-N91mFKenMF5e+LRQ0NsqFb8bw+icbwnF8MzjzS4cux72xG4Gekh772tiLIetbURe44Srgjw5lj8jkWbt+yH/FA==}
+ '@clerk/clerk-js@6.25.13':
+ resolution: {integrity: sha512-QXhNzo0BjVSEItBsj9ukreofsi9XSrR5OJpB03ZDMb0QwWB5oXDHBBukC7DyHNmWt+dNHq01k4XUmA6cCvnNjA==}
engines: {node: '>=20.9.0'}
'@clerk/electron-passkeys-darwin-arm64@0.0.3':
@@ -1830,8 +1831,8 @@ packages:
react-dom:
optional: true
- '@clerk/expo@4.1.2':
- resolution: {integrity: sha512-ZyGozbbizcGwEyK0CEXsPHnHnQoaa2CbTsXAqWBygzKEZyFjLjCHwQsQBKj6WgjAgn8mtw2ByIP9qLpItZffgw==}
+ '@clerk/expo@4.2.0':
+ resolution: {integrity: sha512-S2TYZn1Tltm/gXfe9J1NCuLRCmQX/3gfD0c+i/B1RWGbIJpSZX7KGRzvW70ABaqrK9IUcribLVmMN6unmpuCtQ==}
engines: {node: '>=20.9.0'}
peerDependencies:
'@clerk/expo-google-signin': '>=0.1.0'
@@ -1869,15 +1870,15 @@ packages:
react-dom:
optional: true
- '@clerk/react@6.12.9':
- resolution: {integrity: sha512-lQ1UOJhHGDweLCDf4IgT5r3rgkch1Gx21hNqK2/kOohJrJd/XM89fq2F7VK9Kg/Byc14TsfCh64Dm8ej2MyRWw==}
+ '@clerk/react@6.12.10':
+ resolution: {integrity: sha512-VDYyCyzRdMsNW6qQsMp1+L2VOXxFwpLfWBxOWPvUNOYCruecnAZjUYEJWS+E+i5MAPhSew9HjuweS4bO0FclTQ==}
engines: {node: '>=20.9.0'}
peerDependencies:
react: ^18.0.0 || ~19.0.3 || ~19.1.4 || ~19.2.3 || ~19.3.0-0
react-dom: ^18.0.0 || ~19.0.3 || ~19.1.4 || ~19.2.3 || ~19.3.0-0
- '@clerk/shared@4.25.9':
- resolution: {integrity: sha512-nw3maGzqPrwmUKjGffOM9Zvw24IyOllq0TkQGzsTfQX312WLu2u5CNvjKntMb6Ok6kXa1Zdc77zmPLn1/EAIFA==}
+ '@clerk/shared@4.25.10':
+ resolution: {integrity: sha512-Vjqk74nQGJ8y+cm+eSshoBzRvBhIzuKLOs3Gt13gEHdyQ6yV798Dl2SrBKt0jw2u6I1tOcD3s8/i9P4yJYo0dw==}
engines: {node: '>=20.9.0'}
peerDependencies:
react: ^18.0.0 || ~19.0.3 || ~19.1.4 || ~19.2.3 || ~19.3.0-0
@@ -11791,16 +11792,16 @@ snapshots:
'@clerk/backend@3.14.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
dependencies:
- '@clerk/shared': 4.25.9(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@clerk/shared': 4.25.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
standardwebhooks: 1.0.0
tslib: 2.8.1
transitivePeerDependencies:
- react
- react-dom
- '@clerk/clerk-js@6.25.12(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ '@clerk/clerk-js@6.25.13(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
dependencies:
- '@clerk/shared': 4.25.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@clerk/shared': 4.25.10(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
'@stripe/stripe-js': 5.6.0
'@swc/helpers': 0.5.21
'@tanstack/query-core': 5.100.14
@@ -11815,9 +11816,9 @@ snapshots:
- react
- react-dom
- '@clerk/clerk-js@6.25.12(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ '@clerk/clerk-js@6.25.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
dependencies:
- '@clerk/shared': 4.25.9(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@clerk/shared': 4.25.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@stripe/stripe-js': 5.6.0
'@swc/helpers': 0.5.21
'@tanstack/query-core': 5.100.14
@@ -11853,9 +11854,9 @@ snapshots:
'@clerk/electron@0.0.24(@clerk/electron-passkeys@0.0.3)(electron-store@8.2.0)(electron@41.5.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
dependencies:
- '@clerk/clerk-js': 6.25.12(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
- '@clerk/react': 6.12.9(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
- '@clerk/shared': 4.25.9(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@clerk/clerk-js': 6.25.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@clerk/react': 6.12.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@clerk/shared': 4.25.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
electron: 41.5.0
react: 19.2.6
tslib: 2.8.1
@@ -11864,11 +11865,11 @@ snapshots:
electron-store: 8.2.0
react-dom: 19.2.6(react@19.2.6)
- '@clerk/expo@4.1.2(expo-auth-session@56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo-constants@56.0.18)(expo-crypto@56.0.4(expo@56.0.12))(expo-secure-store@56.0.4(expo@56.0.12))(expo-web-browser@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)':
+ '@clerk/expo@4.2.0(expo-auth-session@56.0.14(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3))(expo-constants@56.0.18)(expo-crypto@56.0.4(expo@56.0.12))(expo-secure-store@56.0.4(expo@56.0.12))(expo-web-browser@56.0.5(expo@56.0.12)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6)))(expo@56.0.12)(react-dom@19.2.3(react@19.2.3))(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)(typescript@6.0.3)':
dependencies:
- '@clerk/clerk-js': 6.25.12(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- '@clerk/react': 6.12.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- '@clerk/shared': 4.25.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@clerk/clerk-js': 6.25.13(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@clerk/react': 6.12.10(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@clerk/shared': 4.25.10(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
'@expo/config-plugins': 56.0.9(typescript@6.0.3)
base-64: 1.0.0
expo: 56.0.12(8895228379997a2a064f9644cda56ed0)
@@ -11887,21 +11888,21 @@ snapshots:
- supports-color
- typescript
- '@clerk/react@6.12.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ '@clerk/react@6.12.10(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
dependencies:
- '@clerk/shared': 4.25.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@clerk/shared': 4.25.10(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
tslib: 2.8.1
- '@clerk/react@6.12.9(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ '@clerk/react@6.12.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
dependencies:
- '@clerk/shared': 4.25.9(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@clerk/shared': 4.25.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
react: 19.2.6
react-dom: 19.2.6(react@19.2.6)
tslib: 2.8.1
- '@clerk/shared@4.25.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ '@clerk/shared@4.25.10(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
dependencies:
'@tanstack/query-core': 5.100.14
dequal: 2.0.3
@@ -11911,7 +11912,7 @@ snapshots:
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
- '@clerk/shared@4.25.9(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ '@clerk/shared@4.25.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
dependencies:
'@tanstack/query-core': 5.100.14
dequal: 2.0.3
@@ -14522,7 +14523,7 @@ snapshots:
- supports-color
- utf-8-validate
- '@react-native/gradle-plugin@0.85.3': {}
+ '@react-native/gradle-plugin@0.85.3(patch_hash=c1b594a16e682d621b6a960926f8ce13fc92edfb397884cfe7fcb0518996a784)': {}
'@react-native/js-polyfills@0.85.3': {}
@@ -20556,7 +20557,7 @@ snapshots:
'@react-native/assets-registry': 0.85.3
'@react-native/codegen': 0.85.3(@babel/core@7.29.7)
'@react-native/community-cli-plugin': 0.85.3(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- '@react-native/gradle-plugin': 0.85.3
+ '@react-native/gradle-plugin': 0.85.3(patch_hash=c1b594a16e682d621b6a960926f8ce13fc92edfb397884cfe7fcb0518996a784)
'@react-native/js-polyfills': 0.85.3
'@react-native/normalize-colors': 0.85.3
'@react-native/virtualized-lists': 0.85.3(@types/react@19.2.16)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3)
@@ -20601,7 +20602,7 @@ snapshots:
'@react-native/assets-registry': 0.85.3
'@react-native/codegen': 0.85.3(@babel/core@7.29.7)
'@react-native/community-cli-plugin': 0.85.3(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- '@react-native/gradle-plugin': 0.85.3
+ '@react-native/gradle-plugin': 0.85.3(patch_hash=c1b594a16e682d621b6a960926f8ce13fc92edfb397884cfe7fcb0518996a784)
'@react-native/js-polyfills': 0.85.3
'@react-native/normalize-colors': 0.85.3
'@react-native/virtualized-lists': 0.85.3(@types/react@19.2.16)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6)
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 3f13f1872f70..656944bbf34d 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -25,12 +25,12 @@ allowBuilds:
catalog:
dfx: 1.0.15
"@clerk/backend": 3.14.0
- "@clerk/clerk-js": 6.25.12
+ "@clerk/clerk-js": 6.25.13
"@clerk/electron": 0.0.24
"@clerk/electron-passkeys": 0.0.3
- "@clerk/expo": 4.1.2
- "@clerk/react": 6.12.9
- "@clerk/shared": 4.25.9
+ "@clerk/expo": 4.2.0
+ "@clerk/react": 6.12.10
+ "@clerk/shared": 4.25.10
"@effect/atom-react": 4.0.0-beta.103
"@effect/openapi-generator": 4.0.0-beta.103
"@effect/platform-bun": 4.0.0-beta.103
@@ -54,11 +54,11 @@ catalog:
minimumReleaseAgeExclude:
- "@clerk/backend@3.14.0"
- - "@clerk/clerk-js@6.25.12"
+ - "@clerk/clerk-js@6.25.13"
- "@clerk/electron@0.0.24"
- - "@clerk/expo@4.1.2"
- - "@clerk/react@6.12.9"
- - "@clerk/shared@4.25.9"
+ - "@clerk/expo@4.2.0"
+ - "@clerk/react@6.12.10"
+ - "@clerk/shared@4.25.10"
- "@distilled.cloud/aws@0.30.2"
- "@distilled.cloud/axiom@0.30.2"
- "@distilled.cloud/cloudflare@0.30.2"
@@ -129,6 +129,7 @@ patchedDependencies:
"@legendapp/list@3.3.3": patches/@legendapp__list@3.3.3.patch
"@pierre/diffs@1.3.0-beta.10": patches/@pierre%2Fdiffs@1.3.0-beta.10.patch
"@react-native-menu/menu@2.0.0": patches/@react-native-menu__menu@2.0.0.patch
+ "@react-native/gradle-plugin@0.85.3": patches/@react-native__gradle-plugin@0.85.3.patch
"@react-navigation/native-stack@7.17.6": patches/@react-navigation%2Fnative-stack@7.17.6.patch
effect@4.0.0-beta.103: patches/effect@4.0.0-beta.103.patch
expo-modules-jsi@56.0.10: patches/expo-modules-jsi@56.0.10.patch