Skip to content

Promotion of current stages/qa to stages/demo#1143

Merged
amoose merged 189 commits intostages/demofrom
promotion-demo
Feb 28, 2017
Merged

Promotion of current stages/qa to stages/demo#1143
amoose merged 189 commits intostages/demofrom
promotion-demo

Conversation

@amoose
Copy link
Contributor

@amoose amoose commented Feb 25, 2017

Promotion of current stages/qa@50642d9 to stages/demo

Why

Continuous deployment

How

QA on https://idp.qa.login.gov/

jessieay and others added 30 commits February 24, 2017 15:33
**Why**:
- To better track IdV analytics. Previously, we were only tracking
failures in the KBV scenario.

**How**:
- Add an analytics call to ReviewController to track success and
failure for the initial IdV submission (prior to KBV and/or phone
confirmation)
- Move most of the code in ConfirmationsController to
QuestionsController since it only applies when KBV is on
- Check if KBV is on in QuestionsController#index. If not, redirect
directly to ConfirmationsController. Previously, we were checking if
questions were available even when KBV was turned off.
- Add an analytics call in QuestionsController to track success and
failure when KBV is on
- Only call analytics in ConfirmationsController if KBV is off to
prevent duplicate events when KBV is on.
**Why**:
* We are now testing accessibility of all pages through axe-matchers /
  RSpec so Pa11y is duplicative
**Why**:
* 508 compliance
* For radio buttons, was getting error:
  "Radio inputs with the same name attribute value must be part of a
  group"
* Ref: https://dequeuniversity.com/rules/axe/2.0/radiogroup
* For other form, there was an invalid aria attr (did not correspond
  to an `id` in the markup)
**Why**: To better capture phone confirmation events

**How**:
- Remove the 'User confirmed their phone number' event because that can
be queried via the properties of the MULTI_FACTOR_AUTH event.
- Track successful phone changes by adding a new property in the
MULTI_FACTOR_AUTH event, as opposed to having a separate event
**Why**: To be able to associate visits with users, so we can track
them from unauthenticated to authenticated state, and to make it easier
to count unique visits.
**Why**:
Users might like a way to cancel out of their authentication process
**Why**:
Prevents us from accepting more data than we need

**How**:
Update the form to have separate fields for each financial input
so that we can independently set HTML attributes for each one
(such as maxlength="8").

This required updating the Javascript to show/hide the fields
rather than change just the label copy, as well as updating the Ruby
form object to have a separate attribute for each one.

Other notable changes:

- Add classlist.js polyfill for element.classList
- Remove now-unused FinanceFormDecorator
**Why**: Due to a bug in field-kit which places any fieldkit field in focus we were manually clearing the focus.  Since we want autofocus on OTP fields, the previous fix is now only applied to non-OTP fields.
**Why**: To be used *after* successful migration to encrypted email.
**Why**:
Translating and formating complex time strings is going to be messy.
Numbers should be sufficient for most users
**Why**:
Lets us add new queues and change priorities without having to
make a separate PR to the devops repo
**Why**: Entering email and password correctly does not complete sign in. The user must still finish 2FA. Changing the button text from "sign up" to "next" acknowledges that it is a multistep process.
* Allow user to stay on account locked page

**Why**: For a better UX, we want to leave the user on the account
locked page for the duration of the lockout period.

**How**:
- Reverse the order of events in `handle_second_factor_locked_user`.
The reason is that application.html.slim wasn't called after signing
the user out, and therefore the timeout JS was still active.
By reversing the order, we force a new call to the layout template,
which then sees that a current user does not exist, and therefore does
not trigger the timeout JS.
- Revert the change from `current_user` to `user_fully_authenticated?`
in the application layout to allow users who only sign in with email and
password to see the time out warning modal.
**Why**: Because they take 24 seconds to run, and we don't need to
check accessibility tests all the time when developing locally.

**How**: Add a `fast_test` command to the Makefile that skips tests
in the `accessibility` directory.
monfresh and others added 20 commits February 24, 2017 15:33
**How**: Fix tests that stub models but then call `save` on them.
4.8.0 now detects this better and raises an error saying
"stubbed models are not allowed to access the database."
**Why**: Vendor-specific drivers all expect UPPER case env vars.
* Adds presenters for phone view

**Why**: To consolidate logic of how we show fallback otp links and
associated help text to the user

* Adds authenticator presenter

**Why**: To consolidate logic for displaying otp fallback links and help
text
* translate mailer into spanish
**Why**: To make it easier to switch between English and Spanish, and
to see what has and has not yet been translated.

**How**: Add a before action in ApplicationController to set the locale
based on the URL param if it is present, or fall back to the default.

Note that eventually, we might implement something more user friendly,
such as fetching the locale from the domain name, such as login.gov.es
or es.login.gov, or perhaps in the path, like login.gov/es/profile.
**Why**: Allow HTTP request to trigger re-read from dashboard.
**Why**: To warn about usage of less performant methods when faster
ones are available. See https://github.com/DamirSvrtan/fasterer

**How**:
- Use `Hash#[]=` instead of `merge!` with only one argument because the
latter is 5x slower
- Use String instead of Heredoc in `config_validator` because fasterer
was not able to parse it
- Use `Hash#each_key` instead `keys.each` because the former iterates
through the keys without allocating a new array
- Add `.fasterer.yml` config and disable two checks because I
obtained the opposite results when benchmarking our code
- Add `fasterer` to our `make lint` command
@amoose amoose changed the title Promotion demo Promotion of current stages/qa to stages/demo Feb 25, 2017
@amoose amoose changed the title Promotion of current stages/qa to stages/demo Promotion of current stages/qa to stages/demo Feb 25, 2017
@amoose amoose merged commit 7e6f5de into stages/demo Feb 28, 2017
@amoose amoose deleted the promotion-demo branch February 28, 2017 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.