expo: Can't sign in to two different dev clients at the same time on Android 9
Summary
I built and installed Android dev clients for two different apps. I logged into the first, successfully, but when I tried logging into the second, the redirect back to the dev client at the end of the login process prompted to choose between both dev clients. When I chose the correct one, I was still not logged in. I have not tested this on iOS.
Managed or bare workflow? If you have made manual changes inside of the ios/ or android/ directories in your project, the answer is bare!
managed
What platform(s) does this occur on?
Android
Package versions
"dependencies": {
"expo": "~42.0.1",
"expo-dev-client": "^0.4.4",
"expo-file-system": "~11.1.3",
"expo-status-bar": "~1.0.4",
"react": "16.13.1",
"react-dom": "16.13.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-42.0.0.tar.gz",
"react-native-progress": "^5.0.0",
"react-native-svg": "12.1.1",
"react-native-tesseract-ocr": "^2.0.3",
"react-native-web": "~0.13.12"
},
Environment
Expo CLI 4.7.3 environment info:
System:
OS: macOS 11.4
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.4.2 - /opt/homebrew/bin/node
Yarn: 1.22.10 - /opt/homebrew/bin/yarn
npm: 7.18.1 - /opt/homebrew/bin/npm
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
IDEs:
Android Studio: 4.2 AI-202.7660.26.42.7486908
Xcode: 12.5.1/12E507 - /usr/bin/xcodebuild
npmPackages:
expo: ~42.0.1 => 42.0.1
react: 16.13.1 => 16.13.1
react-dom: 16.13.1 => 16.13.1
react-native: https://github.com/expo/react-native/archive/sdk-42.0.0.tar.gz => 0.63.2
react-native-web: ~0.13.12 => 0.13.18
Expo Workflow: managed
Reproducible demo or steps to reproduce from a blank project
I am testing out EAS Build and Development Clients on my Galaxy S8.
I created one project, built the dev client with eas build and installed it on my phone. I ran it and signed in and was able to load the experience.
I then created another project, built the dev client with eas build and installed it on my phone alongside the first. I ran it and tried to sign in, but was unable to.
After I clicked on the sign in button it opened the login page in the web browser. I entered my username and password. It asked for an OTP, which I entered. It verified the OTP, but when it tried to redirect back to the dev client something went wrong:
Instead of just redirecting to the second dev client it prompted me to choose between the two dev clients. When I chose the correct one it switched back to the dev client, but I was still not logged in.
The app name, slug, package etc. were all different in both dev clients, so I don’t know why it would not be able to redirect to the correct app directly.
Stacktrace (if a crash is involved)
No response
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 21 (21 by maintainers)
this is still a known issue we’re tracking internally, so going to remove the stale label, though we have no timeline for a fix right now
Ah, I’m glad you mentioned Android 9 – that was the missing piece here. I was able to reproduce this behavior on an Android 9 emulator (confirmed it seems to be fixed by Android 10 and 11). Thank you for the report and the workaround!