Skip to content

Deploy RC 191 to Prod#6365

Merged
zachmargolis merged 23 commits intostages/prodfrom
stages/rc-2022-05-17
May 19, 2022
Merged

Deploy RC 191 to Prod#6365
zachmargolis merged 23 commits intostages/prodfrom
stages/rc-2022-05-17

Conversation

@zachmargolis
Copy link
Contributor

@zachmargolis zachmargolis commented May 17, 2022

Improvements

  • Forgot password: Improve layout consistency for Forgot Password page (#6334)
  • Performance: Reduce download size of compiled JavaScript (#6357)

Bug Fixes

  • Event tracking: Personal Keys Download (#6335)
  • Personal key: Add flow to regenerate personal keys for users with incorrectly encrypted data (#6329)
  • Sign in: Fix page layout margins for sign in page (#6347)

Internal

  • Analytics: Document Analytics events (#6346, #6331)
  • Automated testing: Regenerate Knapsack report for test parallelization (#6332)
  • Deployment: Update sp-logo S3 upload (#6343)
  • Localization: Improve browser localization to support array of messages (#6328)
  • Maintenance: Remove unused UserAccessKeyEncryptor (#6327)
  • Security: Only decrypt PII bundle when needed and limit usage of KMS encryption to needed use cases (#6315)

Upcoming Features

Mitchell Henke and others added 22 commits May 10, 2022 13:24
changelog: Internal, Maintenance, Remove unused UserAccessKeyEncryptor
)

* Rename spec as TS

* i18n: Support array of string values

**Why**: For feature parity with Rails localization, we should be able to retrieve an array of strings from locale data.

changelog: Internal, Localization, Improve browser localization to support array of messages

* Add i18n package README

* Remove unnecessary typecast

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

* README wordsmithing

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
**Why:** We require logout requests to be signed but not all SAML
clients send signed logout requests by default. Turning this on caused
certain SAML clients that weren't previously sending SLO requests to us
to start sending SLO requests, so this allows us to ease into this.

[skip changelog]
**Why**: So that Knapsack can effectively do its job at efficiently parallelizing test execution, especially since we recently enabled the (slow) JavaScript driver for more of our feature specs.

changelog: Internal, Automated Testing, Regenerate Knapsack report for test parallelization
)

* Include requestIdleCallback in polyfill package

So we can use requestIdleCallback confidently

* Rename CompleteController as PasswordConfirmController

So that route name aligns to the submitted step

* Redirect review step to IdV app when password capture enabled

* Implement submission form for password confirmation step

changelog: Upcoming Features, Identity Verification, Add password confirmation step

* Await spinner button for confirmation step helper

* Add missing password_confirm step indicator mapping

* Revert confirmation step spec to main

See: #6305 (comment)

* Inline idle callback availability check

**Why**: Safari does not support requestIdleCallback, and currently we only load the polyfill module for Internet Explorer

* Only redirect after checking phone prerequisite

* Move idv app redirect spec into "completed all steps" context

* Make "post" API more explicit

Require URL, JSON, CSRF parameters

See: #6305 (comment)

* Remove unnecessary global prefixes

typeof checks are safe if variable is not declared

See: #6305 (comment)

* Add inline comment to clarify behavior of callback effect

See: #6305 (comment)
* Describe CHANGELOG requirement in contributing guide

**Why**: So that a new developer or external contributor knows what to expect, and won't be confused when they see that their build is failing without a changelog. And so that it's more clearly expressed that "[skip changelog]" should ideally be uncommon.

* Wordsmithing

* Column length, reference-style link

Follow document convention
…67) (#6329)

changelog: Bug Fixes, Personal Key, Add flow to regenerate personal keys for users with incorrectly encrypted data
**Why**: So that it matches the expected layout via Figma flow designs.

changelog: Improvements, Forgot Password, Improve layout consistency for Forgot Password page
changelog: Analytics, Event Tracking, Personal Keys Download
…ep (#6316)

* Support initial step behavior for FormSteps

**Why**: So that we can push user to the correct step in the flow, or prevent them from reaching steps which they haven't yet completed

* Reset more URL values between tests

Avoid tests leaving lingering data affecting other tests

* Add basic step validation

changelog: Upcoming Features, Identity Verification, Add password confirmation step

* Support subpath for step parameter extraction

See: #6316 (comment)

* Fix artifacts of filtered enabled steps

URL and page title should be set to first _enabled_ step, not first of all steps
* IdV forgot password visited

* IdV forgot password confirmed

* IdV intro visit

* Remove IdV_Jurisdiction* events

These analytics events were removed from their respective controller over 2 years ago.

* add changelog

changelog: Internal, Analytics, Document Analytics events
* Return form response with full error object

**Why**: The point of the `type` property is that if/when we log details around the error, the types are uniquely identifying the sort of error that occurred. They should be unique from one another, and locale-independent.

* Update API to return translated messages

So we can show them in the UI

* LG-6139: Handle and display password confirm errors

**Why**: So that the user only proceeds to the next step with a valid submission, and so that they know what they need to do to correct the issue.

changelog: Upcoming Features, Identity Verification, Add password confirmation step

* Remove unnecessary constructor override

This existed previously because the base FormError customized arguments of the constructor to receive only an options object, not a message. Since the base constructor now receives message as the first argument, the override can be removed.

* Add specs for FormError

* Handle message assignment via superclass constructor

* fix typo
* Refactor SelfieCapture spec to use useDefineProperty

More elegant stubbing cleanup

* Add integration spec for desktop selfie flow

Because it currently fails!

* Support non-input element ref assignment for FormSteps

**Why**: Since not all "fields" will be associated with an input element, as is the case in the desktop strict liveness selfie capture step.

[skip changelog]

* Merge imports

lint

* Use instanceof to narrow type to avoid double cast

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

Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
* Use direct element querying for doc capture polling endpoint

Let "config" stand for common application values

* Revise page-data as typed, "config" package

For common values

* Interpolate app_name in password confirmation title

**Why**: So that the user sees "Login.gov" in the browser tab, not "%{app_name}".

changelog: Upcoming Features, Identity Verification, Add password confirmation step

* Update i18n spec for new config element markup

* Restore getConfigValue result as possibly-undefined

So that we don't need to deal with assuring the element exists in test environments, and to improve tolerance to an invalid page setup

* Fix polling endpoint by attribute value

* Use appName config value instead of flow prop

For consistency, smaller API

* Exclude app_data from specs
…rd confirmation (#6341)

* Rename password-toggle-element package to password-toggle

Because soon it will include React component in addition to the custom element

* Move PasswordToggleElement out of index

**Why**: So we can have multiple exports

* Auto-define password toggle by default on import

Convention, availability to React component

* Add TextInput component

To be used by PasswordToggle component

* Add PasswordToggle component

To be used by password confirm step

* Use PasswordToggle component in password confirmation step

**Why**: For feature parity with the existing proofing experience, the user should have the option to toggle visibility of the password field when at the password confirmation step.

changelog: Upcoming Features, Identity Verification, Add password confirmation step

* Avoid interpolating togglePosition

Easier searchability
* symlink original sp-logo files without fingerprint

* Create folder before symlinking

* changelog: Internal, Deployment, Update sp-logo S3 upload

Co-authored-by: Mitchell Henke <mitchell.henke@gsa.gov>
**Why**: So that hidden inputs don't affect the page layout.

changelog: Bug Fixes, Sign In, Fix page layout margins for sign in page
)

* LG-6314: Add Start Over and Cancel links to password confirmation

**Why**: For feature parity with the existing screen, a user should have the option to start over or cancel the proofing process.

changelog: Upcoming Features, Identity Verification, Add password confirmation step

* Add default URLs for startOverURL, cancelURL

To simplify specs, avoid needing to specify them

* Use URL constructor, full URLs for addSearchParams

Simplify supported use-cases to only those we care about, so that we can simplify the implementation

#6350 (comment)

* Update specs for expecting full URL
* Limit KMS usage in sessions to encrypting PII and only decrypt PII bundle when needed

changelog: Internal, Security, Only decrypt PII bundle when needed and limit usage of KMS encryption to needed use cases

Co-authored-by: Jonathan Hooper <jonathan.hooper@gsa.gov>
Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
Co-authored-by: Oren Kanner <oren.kanner@gsa.gov>
Co-authored-by: Jonathan Hooper <jonathan.hooper@gsa.gov>
Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
Co-authored-by: Oren Kanner <oren.kanner@gsa.gov>
@aduth
Copy link
Contributor

aduth commented May 17, 2022

Should the branch name be stages/rc-2022-05-19 ? (Does it matter?)

@aduth
Copy link
Contributor

aduth commented May 17, 2022

This looks to be missing some of yesterday's merges (notably #6357).

@zachmargolis
Copy link
Contributor Author

Should the branch name be stages/rc-2022-05-19 ? (Does it matter?)

I knew in my head I was supposed to add 2 days but I forgot... I am going to say it's fine for now and leave it as-is so I don't have to re-create the PR

This looks to be missing some of yesterday's merges (notably #6357).

See note in Slack, I pulled from what was live in staging this morning, but I can cherry-pick that if desired

@aduth
Copy link
Contributor

aduth commented May 17, 2022

This looks to be missing some of yesterday's merges (notably #6357).

See note in Slack, I pulled from what was live in staging this morning, but I can cherry-pick that if desired

Ah, fair point. Yeah.... if we could pull in #6357, I think it'd be good, since otherwise we're quadrupling the size of our JavaScript in the critical path 😬

**Why**: So that React is not included in bundles which are expecting to use only the native custom element implementation.

changelog: Improvements, Performance, Reduce download size of compiled JavaScript
(cherry picked from commit 37e8d8b)
@zachmargolis zachmargolis merged commit 8ee8ea9 into stages/prod May 19, 2022
@zachmargolis zachmargolis deleted the stages/rc-2022-05-17 branch May 19, 2022 18:23
@aduth aduth mentioned this pull request May 25, 2022
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.

9 participants