New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WEB-696] CTA Dialog on Facebook Login Error (FB Deprecation) #1763
Conversation
Generated by 🚫 Danger |
Codecov Report
@@ Coverage Diff @@
## main #1763 +/- ##
==========================================
- Coverage 85.42% 85.29% -0.13%
==========================================
Files 1273 1276 +3
Lines 116209 116541 +332
Branches 30637 30722 +85
==========================================
+ Hits 99273 99408 +135
- Misses 15869 16066 +197
Partials 1067 1067
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey Scott, good job here! Works well, code is pretty clean.
I did a deeper review of this and found some improvements to make.
I didn't write it as a comment but can you also remove all the recorded screenshots here. I've made a note to record these in the fix screenshots pr so they are platform agnostic.
There's something else too which I know can be a chore, but would improve the accessibility and usability of the app for larger font sizes. It would also be more consistent with SignUpViewController
and other form fields.
The two things are:
- Ensure the scrollview is not hidden by the keyboard when its' up. Context for how to achieve this is
SignupViewController
animateTextViewConstraint
function. - Also the more complicated thing but does make sense with both
ResetYourFacebookPasswordViewController
andSetYourPasswordViewController
is to allow each textfield to move to the next and then hook up the done button to the api call on the submit button. Examples of how to do this are inSignupViewController
signals likeemailTextFieldReturn
,nameTextFieldReturn
andsignupButtonPressed
.
Current behaviour:
Simulator.Screen.Recording.-.iPhone.8.-.2023-01-04.at.17.11.18.mp4
In-app conforming behaviour:
Simulator.Screen.Recording.-.iPhone.8.-.2023-01-04.at.17.26.10.mp4
Those last two are big asks, so if you want me to make the changes let me know.
Maybe you can write all this up in a separate "improvements" pr?
.../Features/ResetYourFacebookPassword/Controller/ResetYourFacebookPasswordViewController.swift
Show resolved
Hide resolved
.../Features/ResetYourFacebookPassword/Controller/ResetYourFacebookPasswordViewController.swift
Show resolved
Hide resolved
internal let setPasswordSuccess = TestObserver<String, Never>() | ||
internal let setPasswordFailure = TestObserver<String, Never>() | ||
internal let shouldShowActivityIndicator = TestObserver<Bool, Never>() | ||
internal let textFieldAndSetPasswordButtonAreEnabled = TestObserver<Bool, Never>() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
textFieldAndSetPasswordButtonAreEnabled
is not being tested, please add a test for it.
|
||
func testResetFail_WithNon404Error() { | ||
let error = ErrorEnvelope( | ||
errorMessages: ["Zoinks!"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
haha nice
📲 What
As a User who does not have a Kickstarter password and attempts to log in via Facebook, but gets an error either from Facebook, we should present a CTA dialog on the login screen with options to set a new password or use normal email password login
See the designs for details on what this should look like.
Since we're still looking into the issue we're seeing around snapshot testing on M1 macbooks, I've created a ticket to get that part of this PR in once, Mubarak is back
🤔 Why
In the past FB has turned off their FB Login API without warning keeping kickstarters from logging in.
In an effort to deprecate FB Login altogether, this covers that scenario. Both informing the kickstarter that we need them to set a password or log in through our normal login flow.
This will allow us to ensure that everyone is more aware of the move away from FB Login as well as give everyone a chance to set a password on their accounts if they don't already have one.
🛠 How
ResetYourFacebookPassword
screen. Allows a kickstarter to get an email to set a password on their account. This is essentially the normal reset password flow.showFacebookErrorAlert
listener inLoginToutViewController
, we can:👀 See
Trello, screenshots, external resources?
✅ Acceptance criteria
ResetYourFacebookPassword
screen sends an email to the email, if valid, allowing you to set a password on your account.