expo: Expo 35 on iOS 13.0 dismissBrowser crashes app
🐛 Bug Report
Environment
Expo CLI 3.1.0 environment info: System: OS: macOS 10.14.6 Shell: 5.3 - /bin/zsh Binaries: Node: 10.15.0 - ~/n/bin/node Yarn: 1.12.3 - ~/n/bin/yarn npm: 6.11.3 - ~/n/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman IDEs: Android Studio: 3.4 AI-183.6156.11.34.5522156 Xcode: 11.0/11A420a - /usr/bin/xcodebuild npmPackages: expo: ^35.0.0 => 35.0.0 react: 16.8.3 => 16.8.3 react-native: https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz => 0.59.8 react-navigation: ^4.0.7 => 4.0.7 npmGlobalPackages: expo-cli: 3.1.0
iOS 13.0, doesn’t occur on iOS 12
Steps to Reproduce
Import expo-web-browser and call dismissBrowser function
Expected Behavior
Nothing to happen
Actual Behavior
App crashes
Reproducible Demo
import React from 'react';
import { View, Button } from 'react-native';
import * as WebBrowser from 'expo-web-browser';
export default function App() {
return (
<View>
<Button
title='press me'
onPress={() => {
WebBrowser.dismissBrowser()
}}
/>
</View>
);
}
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 16 (8 by maintainers)
Commits related to this issue
- [expo-web-browser] Fix dismissing when promise isn't there (#5744) # Why Fixes https://github.com/expo/expo/issues/5742. # How Ensured there would be no promise resolving when promises aren'... — committed to expo/expo by sjchmiela 5 years ago
- [expo-web-browser] Fix dismissing when promise isn't there (#5744) # Why Fixes https://github.com/expo/expo/issues/5742. # How Ensured there would be no promise resolving when promises aren'... — committed to expo/expo by sjchmiela 5 years ago
- [expo-web-browser] Fix dismissing when promise isn't there (#5744) # Why Fixes https://github.com/expo/expo/issues/5742. # How Ensured there would be no promise resolving when promises aren'... — committed to expo/expo by sjchmiela 5 years ago
We do something similar using @aws-amplify/auth, where we follow their example for Expo users to call
WebBrowser.dismissBrowser(), which causes the crash on iOS 13.We’ll be deploying the fix to our SDK 35 builders soon, just running final tests. I’ll update here once we do, thanks everyone for being proactive and reporting this
Edit: Fix has been deployed to SDK 35 builders
Merged the fix to
masterandsdk-35release branch. It will be release in Expo client if we push an update in the middle of cycle and it has been just released asexpo-web-browser@7.0.1for bare and ejected projects. 🙂Weeks, it’s not too far off 😄
Thanks, we really appreciate your support!
@cruzach Thanks for the prompt reply. Can you maybe explain what it means “Fix has been deployed to SDK 35 builders”? Does that mean we have to wait for SDK 35.0.1?