I upgraded my app from version Expo SDK 50 to 51 and since then clerk has completely broken
Closed this issue · 7 comments
Preliminary Checks
- I have reviewed the documentation: https://clerk.com/docs
- I have searched for existing issues: https://github.com/clerk/javascript/issues
- I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)
- This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.
Reproduction
https://github.com/2salted/WhatsLeft
Publishable key
pk_test_Z3VpZGVkLWJvYXItNC5jbGVyay5hY2NvdW50cy5kZXYk
Description
Steps to reproduce:
if you clone my gh repo its a whatsapp clone project
and if you run npm install
you should be able to run npx expo start (or preferably npx expo start --clear)
and then you should be met with the error after building if not go ahead and attempt a sign up and you should see those errors too
Actual behavior:
- I run npx expo start --clear (as per usual), I also run my backend but for this it doesnt matter
- I take my phone (IOS) and scan the qr code, the app builds and when it loads first its a blank screen and the error is the image below:
- then it took me 2 days to mess around for me to get rid of this error and it was to remove the token cache.(which isnt a fix but I just wanted to get the page to load)
- now after removing token cache the sign in and sign up pages load in which when I try to sign in it says "Not a valid base64 encoded string length" in my console log.
- so then i tried sign up which it then says: "shortMessage": "Session already exists",
"longMessage": "You're currently in single session mode. You can only be signed into one account at a time."
anyways it is safe to say clerk and expo-secure-store is completely broken in my app
Expected behavior:
the expected behavior is for the app to firstly load proprely and for when i either sign up or sign in it works just like when it was in expo sdk 50 (less than 2 days ago)
I wrote this really fast since I didn;t have to much time let me know if it makes sense and if its just my code or if clerk is actually broken on SDK 51
Environment
System:
OS: Linux 6.5 Ubuntu 22.04.4 LTS 22.04.4 LTS (Jammy Jellyfish)
CPU: (8) x64 AMD Ryzen 7 3700U with Radeon Vega Mobile Gfx
Memory: 7.19 GB / 9.65 GB
Container: Yes
Shell: 5.1.16 - /bin/bash
Binaries:
Node: 20.12.1 - ~/.nvm/versions/node/v20.12.1/bin/node
npm: 10.5.0 - ~/.nvm/versions/node/v20.12.1/bin/npm
bun: 1.1.1 - ~/.bun/bin/bun
Browsers:
Brave Browser: 124.1.65.126
Chrome: 124.0.6367.118
npmPackages:
@babel/core: ^7.20.0 => 7.24.5
@clerk/clerk-expo: ^0.20.16 => 0.20.18
@expo/vector-icons: ^14.0.0 => 14.0.1
@react-navigation/native: ^6.0.2 => 6.1.17
@types/react: ~18.2.45 => 18.2.79
expo: ^50.0.17 => 50.0.17
expo-font: ~11.10.3 => 11.10.3
expo-image-picker: ~14.7.1 => 14.7.1
expo-linking: ~6.2.2 => 6.2.2
expo-router: ~3.4.10 => 3.4.10
expo-secure-store: ~12.8.1 => 12.8.1
expo-splash-screen: ~0.26.4 => 0.26.5
expo-status-bar: ~1.11.1 => 1.11.1
expo-system-ui: ^2.9.4 => 2.9.4
expo-web-browser: ~12.8.2 => 12.8.2
jest: ^29.2.1 => 29.7.0
jest-expo: ~50.0.4 => 50.0.4
nativewind: ^2.0.11 => 2.0.11
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: 0.73.6 => 0.73.6
react-native-safe-area-context: 4.8.2 => 4.8.2
react-native-screens: ~3.29.0 => 3.29.0
react-native-web: ~0.19.6 => 0.19.11
react-test-renderer: 18.2.0 => 18.2.0
socket.io-client: ^4.7.5 => 4.7.5
tailwindcss: ^3.3.2 => 3.3.2
typescript: ^5.1.3 => 5.4.5
let me know if yall got questions
Hello I have exactly the same issue when upgrading from Expo 50 to 51.
System:
OS: Windows 11 10.0.22631
CPU: (8) x64 AMD Ryzen 7 3700U with Radeon Vega Mobile Gfx
Memory: 4.66 GB / 13.95 GB
Binaries:
Node: 20.11.1 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.17 - ~\AppData\Roaming\npm\yarn.CMD
npm: 10.7.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: Chromium (123.0.2420.97)
Internet Explorer: 11.0.22621.3527
npmPackages:
@babel/core: ^7.24.0 => 7.24.5
@clerk/clerk-expo: ^1.1.0 => 1.1.0
@clerk/types: ^4.2.1 => 4.2.1
@hookform/resolvers: ^3.3.4 => 3.3.4
@notifee/react-native: ^7.8.2 => 7.8.2
@react-native-async-storage/async-storage: 1.23.1 => 1.23.1
@react-native-community/datetimepicker: 7.7.0 => 7.7.0
@react-native-community/eslint-config: ^3.2.0 => 3.2.0
@react-native-community/netinfo: 11.3.1 => 11.3.1
@react-native-firebase/app: ^19.2.2 => 19.2.2
@react-native-firebase/messaging: ^19.2.2 => 19.2.2
@react-navigation/bottom-tabs: ^6.5.14 => 6.5.14
@react-navigation/native: ^6.1.12 => 6.1.12
@react-navigation/stack: ^6.3.23 => 6.3.23
@stream-io/flat-list-mvcp: ^0.10.3 => 0.10.3
@types/react: ~18.2.79 => 18.2.79
@typescript-eslint/eslint-plugin: ^7.0.1 => 7.0.1
@typescript-eslint/parser: ^7.0.1 => 7.0.1
eslint: ^8.56.0 => 8.56.0
eslint-config-prettier: ^9.1.0 => 9.1.0
eslint-plugin-jest: ^27.9.0 => 27.9.0
eslint-plugin-prettier: ^5.1.3 => 5.1.3
expo: ~51.0.2 => 51.0.2
expo-application: ~5.9.1 => 5.9.1
expo-auth-session: ~5.5.2 => 5.5.2
expo-constants: ~16.0.1 => 16.0.1
expo-crypto: ~13.0.2 => 13.0.2
expo-dev-client: ~4.0.13 => 4.0.13
expo-file-system: ~17.0.1 => 17.0.1
expo-image-manipulator: ~12.0.3 => 12.0.3
expo-image-picker: ~15.0.4 => 15.0.4
expo-location: ~17.0.1 => 17.0.1
expo-media-library: ~16.0.3 => 16.0.3
expo-notifications: ~0.28.1 => 0.28.1
expo-secure-store: ~13.0.1 => 13.0.1
expo-status-bar: ~1.12.1 => 1.12.1
expo-updates: ~0.25.11 => 0.25.11
expo-web-browser: ~13.0.3 => 13.0.3
firebase: ^10.8.0 => 10.8.0
geofire-common: ^6.0.0 => 6.0.0
lucide-react-native: ^0.334.0 => 0.334.0
moment: ^2.30.1 => 2.30.1
prettier: ^3.2.5 => 3.2.5
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-hook-form: ^7.51.1 => 7.51.1
react-native: 0.74.1 => 0.74.1
react-native-animatable: ^1.4.0 => 1.4.0
react-native-gesture-handler: ~2.16.1 => 2.16.2
react-native-google-places-autocomplete: ^2.5.6 => 2.5.6
react-native-maps: 1.14.0 => 1.14.0
react-native-paper: ^5.12.3 => 5.12.3
react-native-reanimated: ~3.10.1 => 3.10.1
react-native-safe-area-context: 4.10.1 => 4.10.1
react-native-screens: 3.31.1 => 3.31.1
react-native-svg: 15.2.0 => 15.2.0
stream-chat-expo: ^5.28.1 => 5.28.1
typescript: ^5.1.3 => 5.3.3
zod: ^3.22.4 => 3.22.4
zustand: ^4.5.1 => 4.5.1
I heard the clerk team has been trying to fix it for the past couple days I have no clue of any deadline tho hopefully soon because this has completely halted my project and its very annoying. let me know if maybe you find a temporary workaround
Thank you but I still have the issue with the last version 1.1.0.
same issue, but seems fixed here: #3354
Hey Nahani,
in the terminal run:
"npm i @clerk/clerk-expo@1.0.8-snapshot.v7e206ff --save-exact"
this is the commit that has the working changes, I ran this command and it worked right away! good luck!