Deploy stages/rc-2017-08-07 to staging#1590
Merged
zachmargolis merged 111 commits intostages/stagingfrom Aug 7, 2017
Merged
Conversation
**Why**: The feature in question is account reactivation, this improves naming consistency
**Why**: Consistency is key. In this case, the cancel link on the forgot password page was always linking to the home page. **How**: Don't use the `shared/cancel` partial because the user will never be signing up or going through IdV if they are accessing the Forgot Password page, so we can directly link to the decorated session's `cancel_link_path` which contains the logic to determine whether it should point to the home page or the branded page.
**Why**: Testing for the link text alone is not enough. We also want to make sure the link is pointing to the right place.
Renames account recovery to account reactivation
Check href when testing links
Return to branded page consistently when canceling
**Why**: Removing references to the session will make it easier to extract VendorValidator work into a background job
Remove idv_session from VendorValidator
**Why**: Extracting this into a serializable object will make it easier to refactor these classes into background jobs.
Extract Idv::ProoferValidator#result
Use param for i18n
**Why**: We were comparing datetimes without freezing Time.zone.now, leading to flickering specs. **How**: Instead of comparing `otp_last_sent_at` with the current time, check that the current `otp_last_sent_at` is greater than the previous one.
**Why**: To enable rollout
Make otp_rate_limiter_spec more robust
**Why**: The retry and raise portion of `find_or_create_with_phone` was not tested.
**Why**: This tells the screen reader the content in this div is hidden. When the accordian is expanded, aria- hidden is changed to false, letting the screen reader know there is new content on screen.
Improve test coverage for OtpRequestsTracker
**Why** The situation As @andrewhughey had stated in 18F/identity-private#1890 (comment), here is the flow that this PR is fixing: create account (email, password, 2FA) verify identity (person info, financial info) choose to confirm address by mail send letter see profile / flash message that letter was sent sign out sign in asked for code from letter but oh no! I never got a letter choose send new letter expected: send new letter screen actual: restart identity verification **How** This PR adds logic to prevent the user from being redirected back to identity verification, sending them to the "Send another letter" confirmation screen instead, as expected. The faulty redirect was happening because the a request to send more mail was triggering the IdvSession service, which redirects to verification if verification hasn't been completed. To fix this, we added an exception that prevents that redirect if a user has mail already sent mail. For issue: 18F/identity-private#1890
**Why**: As part of backgrounding vendor proofing, it will be helpful for the IdV form objects to behave like the rest of the form objects in the app so we can extract them from the `Idv::Step` subclasses and invoke them in the controller.
Add aria-hidden to accordian content div
Return FormResponse from IdV form submission
Prevent Verify by mail flow redirect bug
Add CBP GOES production config
**Why**: Our test print had issues with unicode
Send plain ASCII attributes in verify-by-mail
**Why**: Helps with our translation pipeline **How**: Make sure keys use word characters and underscores only
Make sure i18n keys are consistent
**Why**: This will let us break submission in to two steps and into two controller actions which will further help us when we move the call to our vendors to background jobs.
Separate idv_form from Idv::Step classes
…irect Don't delete SP info from session after redirect
**Why**: Twilio does not allow us to call users in some US territories which have a +1 internation code. This commit adds frontend code that disables the phone option and messages the user that they will have to receive an OTP via text. Validate that phone and otp delivery method match **Why**: If we can't support voice for a user's phone number, and they manage to submit the form (e.g. they have JS disabled) we want to display an error message explaining the problem Disable unsupported voice cofirm in phone forms **Why**: If a user provides a phone number that is unsupported for voice in the form to edit their 2FA phone number or the idv phone form, we want to send them an SMS and not send them give them the option to select phone. Load unsupported phone area codes in data attr **Why**: We don't want to maintain a list of unsupported area codes in both the JS and in the ruby code.
Disable phone OTP option in select US area codes
**Why**: - An interpolation key came back capitalized incorrectly - A separate value (an array) was a JSON string rather than a literal array
Fix translations in Spanish
**Why**: If someone attempts to visit the sign in page with an invalid (i.e. expired) `request_id` (which has happened in production), we should allow the user to sign in instead of getting a 500 error. **How**: Use `ServiceProviderRequest.from_uuid` instead of `find_by` because the former returns a null object if there is no match. We were already using `from_uuid` everywhere else except in `StoreSpMetadataInSession`.
…session Allow user to sign in with invalid request_id
Add quotes to value in application.yml
Run user_flow specs in available locales
**Why**: In order to support internation numbers, we need to remove the validation that requires phone numbers have a US country code Remove US country code from phone normalization **Why**: We want to allow users to have internation numbers, which means we need to be prepared to format internation numbers. Add control for selecting international code **Why**: Users need to be able to specify their international code so that we can: 1. Communicate to them whether voice OTP is supported for their country 2. Validate their phone number is properly formatted Make app aware of intl voice unsupported numbers **Why**: The app needs to know which international numbers don't support voice calling so it can render an error in those cases. Validate phone numbers are valid for intl codes **Why**: We want to make sure that the phones the users are entering are plausible phone numbers **How**: Format phones for their international code before validating them in the phone forms Add intl code dropdown to update phone form **Why**: So that users can select an international phone code when updating their 2FA phone
**Why**: Error type was used for button name also Also clean up repeated view_model methods
Allow international phone numbers
Fix IDV timeout modal copy
Add language dropdown
**Why**: Completeness
Translate SMS OTP job into fr
**Why**: It is confusing that the international code selection and the number in the phone input can be out of sync. This commit keeps both in sync by updating them as the user types. This also helps make sure the format of phone number makes a little more sense. Use libphonenumber-js to format intl numbers **Why**: The phone number formatter built into field-kit does not know how to format international numbers. This commit abandons that phone formatter in favor of a custom formatter built on top of libphonenumber-js which does know how to format international numbers. Format phone numbers on update user phone form **Why**: This change gives users the same experience typing numbers and selecting international codes that they get from the 2FA setup form.
Update international code as user types phone
e327f2d to
898dac9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Realted: #1586
There were merge conflicts with a simple PR (possibly related to an out-of-band commit), so I did the merge on a separate branch manually with a
--strategy=oursso make sure the RC gets to staging with no conflicts