Skip to content

Deploy RC 164#5573

Merged
jmhooper merged 32 commits intostages/prodfrom
stages/rc-2021-11-04
Nov 4, 2021
Merged

Deploy RC 164#5573
jmhooper merged 32 commits intostages/prodfrom
stages/rc-2021-11-04

Conversation

@jmhooper
Copy link
Contributor

@jmhooper jmhooper commented Nov 2, 2021

No description provided.

aduth and others added 30 commits October 26, 2021 13:09
* Configure global feature spec console log monitoring

**Why**: So that it's less of a mystery when things break

* Refactor message customization as custom class

* Temporarily allow document-capture errors

* Allow skipping expected browser console errors

e.g. 404 page, or specs asserting against an error resposne

* Only assert console logging on supported browser drivers

     NoMethodError:
       undefined method `manage' for #<Capybara::RackTest::Browser:0x000055e95c6122e0>

* Remove redundant visit

Because (a) it's not necessary and (b) it makes console log catching angry because the page will prompt before navigating.

* Fix path for email delete confirmation accessibility

delete_email_path is for the POST submission confirming the deletion, so not something the user would "visit" directly

* Increment reload times for JS-disabled doc polling scenario

It was relying on the page refresh. Better to handle it in the test though, since it matches the test description

* Rename allow_js_error to allow_browser_log

Because it may not be originating from JS, and may not be an error

* Always get logs

Suspected that messages are being held between specs
#5535)

* Refactor document capture provider hierarchy via component composition

**Why**: Flattening results in diffs which aren't as unyieldy when adding or removing from the component hierarchy.

* Cast data attributes as string

**Why**: Avoid verbose equivalent TypeScript casting

* Use variadic arguments for composeComponents

See: #5535 (comment)

* Use implicit undefined for component pair props

**Why**: Destructures the same, avoids explicit reference to undefined (which by definition is more on the implicit end "absence of" a defined value, vs. explicit empty null), smaller bundled size.
**Why**: Incidentally supporting related work in LG-5185, isolated to limit size of pull request of that effort.
**Why**: To be able to accurately track interaction with document capture fields, we want to be able to assume that a "click" precedes image selection.

Includes a new property on the event to allow for differentiation between whether event occurs by drag/traditional click.
* LG-5079: Create separate throttle for address verification

**Why**: As a user, I expect that if it takes me several attempts to complete the "Verify your information" verification during IAL2, my remaining attempts do not carry over subsequent into the phone/address verification, so that I have adequate opportunity to try to complete this step independent of my previous difficulty.

* Restore and improve spec for proof_ssn

It wasn't working as expected, because the created throttle wasn't actually throttled. The controller will always assign a time for expires_at, even if that time is 'now'
* simple version of continuing to SP after recovering with personal key

* Update app/views/accounts/_personal_key.html.erb

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>

* fix specs

* fix erblint

* add spec

* move sp continue into own partial

* add translations

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
* wip

* Extract FormStepsContinueButton from FormSteps

Allow greater control of placement of Continue button

* Move CaptureAttemptsTroubleshooting to DocumentsStep

* Track metadata of last capture attempt

To create different messaging based on failure attempt

* Rename CaptureAttempts context as FailedCaptureAttempts

**Why**: Because tracked only as failed attempts

* Temporarily disable prompt on navigate

make development less annoying

* Fix TroubleshootingOptions markup

Include list wrapper

* Add capture attempts troubleshooting content

* Trigger onFailedCaptureAttempt on failed capture attempt

* Revert "Temporarily disable prompt on navigate"

This reverts commit a143950.

* Use warning component for attempts troubleshooting

* useCounter: Add support for reset

* Reset failed attempts after success

* Warning: Margin between warning icon and page heading

* Translate capture tips content

* Add troubleshooting links

* Taking the title out of form-steps and requiring each step to create its own. Added focus anchor at the top of step content.

* Fixing a few things after comment and fixing a couple of tests. More test fixing to come.

* Oops! Forgot to remove the title prop typescript doc.

* It seems a few svgs could be further optimized.

* start fixing formsteps specs

* Fixed a few more tests.

* A quick attempt at fixing the failing SubmissionInterstitial test. Thought it would work but it doesn't.

* Assign Node global in spec helper

* Restore behavior to move focus ahead of alert on errors

* Temporary translations for beginning of step content

* Specs asserting focus target label text

* Spec for document steps troubleshooting

* Update BlockLink spec description

Moved from document-capture

* Add TroubleshootingOptions specs

* Restore SubmissionInterstitial autoFocus behavior

https://github.com/18F/identity-idp/pull/5534/files#r735605388

* Add MarketingSiteContext displayName

Fix failing spec, make visible to React DevTools

* Specs for FailedCaptureAttemptsContext

* Specs for MarketingSiteContext

* More exhaustive DocumentStep failed attempts spec

Test behavior of successful reset, no multi-display

* Move documents footer specs to DocumentsStep

Not managed at top-level anymore, step-specific

* Add CaptureTroubleshooting component specs

* Remove unnecessary async function

Lint

* Update document-capture-spec to click correct submit button

Seems like this should've been failing already?

* Combine maxCaptureAttemptsBeforeTips into AppRoot type destructure

* merge main

* Revert "merge main"

This reverts commit eadf947.

* Remove explicit focus anchor in favor of first content as anchor

**Why**: Maintain as close to the current implementation as we can until further research and user testing can give us insight into optimal navigation experience.

* Add spec for MarketingSite.help_document_capture_tips_url

* Increase failed attempts before tips from 2 to 3

#5534 (review)

* Increase vertical margin of try again to 2.5rem

See: #5534 (review)

Co-authored-by: amathews <amathews@fearsol.com>
* smoke testing test

* Update spec/support/monitor/monitor_email_helper.rb

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>

* lint

* fix

* remove old environment variable usage

* remove gmail

* re-enable smoke test alerts

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
* translate "please fill out this field"

* create partial for future invalidation messages

* add novalidate and validation message partial

* add behavior to show and hide alert messages

* update tests to reflect new validation message

* fix lint error

* address PR comments

* normalize yml files

* remove `keylength` value

* fix test

* fix test again

* remove sanity check, fix submit a wrong code test

* fix final lint error

* make error messaging consistent with other errors
- Also remove now-outdated comment
* This is to get the shortened copy (160 chars or under) for SMS replies.
* Remove job_runs.sh and associated models
* remove ruby_workers_cron_enabled config, its now always on
* add removal note
* remove health job controller
* LG-5040: refactor text field

* add inline js

* validation html

* LG-5040: refactor text field

* LG-5040: add inline validation

* LG-5040: validation yaml fixes

* LG-5040: updated inputs for inline-validation

* LG-5040: leverage css more

* LG-5040: fix linting issue

* LG-5040: lint fixes

* LG-5040: update spec to make sure its properly setting aria invalid propelry

* LG-5040: clean up styling, remove error-state css class

* LG-5040: lint fix

* LG-5040: add validation to send link and verify account

* LG-5040: madd spacing

* LG-5040: update styling

* LG-5040: add padding

* LG-5232: support in line validation for one time code input

* LG-5232: linting fix

* LG-5232: refactor to use validated_form_for

* LG-5232: otp
**Why**: So that we're consistent in the version we're expecting.
* LG-5213: Hide "Start Over" and "Cancel" in capture tips

Follow-up from #5534

**Why**: Per design, the "Start Over" and "Cancel" links are not intended to be shown in the troubleshooting tips. Because this was rendered outside the React application, the approach to hiding them is to absorb the logic of the links into the React application, rendering them only where applicable.

* Add component description for ButtonTo

Portal-ing is non-obvious

* Import FlowPath type from document-capture

#5553 (comment)
* LG-5213: Reset scroll position on FormSteps content replacements

**Why**: To reflect the fact that content has been replaced, both focus and scroll position should reset to match user expectations that a new page has been presented. This already existed for formalized steps, but was being emulated (incompletely) for in-step content replacements such as capture troubleshooting tips.

* Spec for CallbackOnMount children behavior

* Spec for CaptureTroubleshooting content reset

* Specs for FormSteps context behavior

* Rename onContentReplaced to onPageTransition

See: #5552 (comment)
* Expand ERBLint exclusion glob patterns

**Why**:

* More straight-forward to fix individual files
* Avoid allowing new files to be exempt by virtue of matching glob pattern
* Some files matching these patterns are already correct (e.g. `app/views/users/verify_personal_key/throttled.html.erb` )

* sort
* Should add ~15 seconds more every time we check
* LG-5184: Full page error on Acuant/LexisNexis outage

* go back to the root path

* vendor outage spec

* refactoring to better align with work from #5550

* update locales

* rubocop

* removed unused locale keys

* make normalize_yaml

* vendor statuses are stored as symbols

* separate messaging if existing user hits idv flow

* refactor vendor_outage_concern

* convert concern into a service object

* final specs

* removed unused code

* remove extra check for unknown vendor

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>

* freeze vendor lists

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>

* don't need conditional check on `else`

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>

* YARD comment for outage_message

* add the sms/voice configs

* don't need to specify title if same as heading

Co-authored-by: Andrew Duthie <andrew.duthie@gsa.gov>

* remove fallback path on back partial

Co-authored-by: Andrew Duthie <andrew.duthie@gsa.gov>

* flatten the i18n keys

* record that vendor outage came from idv in separate session key

* inline VendorStatus usages

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>

* tighten up the guard clause

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
Co-authored-by: Andrew Duthie <andrew.duthie@gsa.gov>
)

**Why**: As per AC of LG-5213, we want logging data to be available indicating when the pre-submission troubleshooting tips are displayed, and for when they are dismissed (when the user clicks "Try again").
* skip SMS tests

* raise error with email address in smoke tests
* Refactor Alert partial to ViewComponent

**Why**: Consistency, for all the benefits of using ViewComponent in the first place, and to avoid further entrenching ourselves into the partial with ongoing work including alerts (e.g. vendor outages handling).

* more string types

* Delete _alert.html.erb

* Include warning as valid alert type

* Move alert modifier class to class method

See: https://github.com/18F/identity-idp/pull/5565/files#r739532665

* Add emergency as supported alert type

More recently added "site alert" component: https://designsystem.digital.gov/components/site-alert/

* Warning alert type to symbol

See: #5565 (comment)

* Add spec for alert tag_options behavior

* Refactor flashes as component

* Adapt flashes spec to component spec

* Move alert CSS class logic to component class method
zachmargolis and others added 2 commits November 2, 2021 14:28
* Cache DB query that loads all ServiceProvider redirect_uris

- Very hot codepath, and few minutes of outdated data is likely acceptable

* Make it configurable

Co-authored-by: Mitchell Henke <mitchell.henke@gsa.gov>
Copy link
Contributor

@aduth aduth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@jmhooper jmhooper merged commit 6da5a60 into stages/prod Nov 4, 2021
@jmhooper jmhooper deleted the stages/rc-2021-11-04 branch November 4, 2021 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants