-
Notifications
You must be signed in to change notification settings - Fork 487
Description
Step 1: Are you in the right place?
I am 🙄
Step 2: Describe your environment
- Objective C or Swift: Swift
- iOS version: 13.1.2
- Firebase SDK version: 6.9
- FirebaseUI version: 8.2
- CocoaPods Version: 1.8.3
Step 3: Describe the problem:
Steps to reproduce:
Open login UI with only password method.
Observed Results:
When setting shouldHideCancelButton = true on Auth instance, cancel button is hidden but the interactive dismiss is still possible.
Expected Results:
Interactive dismiss should be disabled in this case. It looks like you've only applied interactive dismiss handling on the login method selection screen, but not on a particular screen. I'm not sure about the sdk implementation for this case, but it doesn't work 🤷♂
Another interesting thing is if this would work as expected (interactive dismissal disabled), it's really confusing and broken. When the screen is presented, the user cannot cancel the flow if he decides so. I think you should not tie interactive dismissal to the cancel button.
I should be able to:
- disable interactive dismissal but still be able to cancel the flow or
- disable cancel and enable interactive dismissal, but interactive dismiss should be handled as cancel event
Relevant Code:
This is a snippet from my code to present email/password login UI:
func presentLoginUI(from vc: UIViewController) {
let authUi = Auth.auth()
authUi.tosurl = URL(string: Constants.Legal.tosUrl)
authUi.delegate = self
authUi.shouldHideCancelButton = true
let emailAuth = FUIEmailAuth(authAuthUI: authUi, signInMethod: "password", forceSameDevice: true, allowNewEmailAccounts: true, actionCodeSetting: ActionCodeSettings())
emailAuth.signIn(withPresenting: vc, email: nil)
}Please fix this asap.