Skip to content

Deploy RC 371 to Production#10414

Merged
solipet merged 22 commits intostages/prodfrom
stages/rc-2024-04-11
Apr 11, 2024
Merged

Deploy RC 371 to Production#10414
solipet merged 22 commits intostages/prodfrom
stages/rc-2024-04-11

Conversation

@solipet
Copy link
Contributor

@solipet solipet commented Apr 11, 2024

User-Facing Improvements

  • Doc Auth: Page content changes for document and selfie capture. (#10348)
  • Login Design System Component: Login-button embed styles for partner use (#10387)
  • PIV/CAC: Add PIV interstitial page for gov emails (#10282)

Bug Fixes

  • In-Person Proofing: Check all threatmetrix config values where necessary (#10391)
  • Sign Up: Avoid prompting for Rules of Use on resent email confirmation (#10404)

Internal

  • Code Quality: Remove unused session helper testing code (#10384)
  • Doc Auth: Add analytics event for tracking unexpected sdk error (#10368)
  • FSM: Add state id feature flag (#10409)
  • File Structure: Consolidate raster images into email assets directory (#10389)
  • Geocoder: Avoid initializing geocoder in test environments (#10398)
  • Logging: Add logging of user camera resolution for document capture page (#10227)
  • SAML: Bump to latest saml-idp version (#10396)
  • Webauthn: Specify hints for webauthn security key enrollment (#10382)

Upcoming Features

  • Document Authentication: Add alt text to selfie checkmark image for screenreaders (#10401)
  • In-person-proofing: Add new value for idv_level on profile (#10371)

gina-yamada and others added 22 commits April 9, 2024 08:09
* Add new idv_level profile attribute for tmx

* Move test setup to specific test

* changelog: Upcoming Features, In-person-proofing, Add new value for idv_level on profile

* Apply suggestions from code review

added multiple newline to separate cases, updated context for consistent communication around tmx

Co-authored-by: Matt Wagner <mattwagner@navapbc.com>

* Updated if/else logic to set idv_level

* Update spec to return true for enforce tmx flag

---------

Co-authored-by: Matt Wagner <mattwagner@navapbc.com>
changelog: Internal, Code Quality, Remove unused session helper testing code
* changelog: Internal, Doc Auth, add analytics event for tracking unexpected sdk error
## 🎫 Ticket

[LG-12920](https://cm-jira.usa.gov/browse/LG-12920)

## 🛠 Summary of changes

Implements the `setUnexpectedErrorCallback` method from [Acuant setup instructions (step #5)](https://github.com/Acuant/JavascriptWebSDKV11?tab=readme-ov-file#setup).

We wanted to implement this now in case it gives us useful messages about the black screen issues in [LG-12671](https://cm-jira.usa.gov/browse/LG-12671).

## 📜 Testing Plan

I could not find a way to test this or to trigger it locally. It needs to be an error that happens after SDK load but before initialization. We would like to have a test for it, or at least have a way to trigger it manually, but we don't believe we have a way to do that.
While I was working on #10385 I noticed that the `Idv::AddressController` includes a form object but does not implement the Form Object Pattern the way I expected. Specifically the form was only initialized and used to validate input params. As a result a few of the expected features were missing. Namely error messages did not appear on the rendered view. This commit adjusts `Idv::AddressController` to use the pattern as expected.

This commit also adds specs for `Idv::AddressForm` which I noticed were missing despite the form object having some complexity to account for the `address_edited` value in the `FormResponse`.

[skip changelog]
* LG-12804: add ID photo and selfie content change.

changelog: User-Facing Improvements, Doc Auth, Page content changes for document and selfie capture.

* LG-12804: No subheader for ID photo when no selfie required.

* LG-12804: typo etc.

* LG-12804: update with DOS translations.
* interstitial

* add routes and migration

* changelog: User-Facing Improvements, PIV/CAC, Add Piv interstitial page for gov emails

* possible piv user

* possible piv user

* possible piv user built

* rename controller to something more cohesive, add spec for controller

* rubocop fixes

* concern for pivcac

* MFA setup redirect to piv for proper emails

* piv cac

* Add piv cac recommended presenter and data

* update translations

* add spec and stub piv cac

* piv cac recommended show

* refactor mfa selection concern

* User-Facing Improvements, Piv/Cac, add Migration to add piv visited at column

* update schema

* put back pgcrypto

* rubocop and analytic events

* changelog: User-Facing Improvements, PIV/CAC, Piv Migration for added check on user

* update schema and change to dismissed at

* remove unneeded migration

* fix schema

* address comments, piv cac recommended controller fix and reorder analytic events

* change method name to be clearer

* change back to confirmation check

* rubocop fix

* rubocop and mfa concern

* address comments, delete obsolete migration

* make sure to check controller for proper redirecting

* make unstyled

* rubocop and fix method

* commit option

* remove unneeded schema change

* address comments
* Rm duplicate test setup

I will be adding new tests here and found that we had the selfie test
setup twice.

In github this ends up looking like a big change since I have to change
indentation, so I wanted to do it as a separate PR.

[skip changelog]

* Add passing selfie context
changelog: Internal, File Structure, Consolidate raster images into email assets directory
[skip changelog]

Suggestion missed in #10368 that I think is a good addition.
…r` (#10385)

Currently `Idv::AddressController` collects an updated address from the user and merges it into `pii_from_doc` in `idv_session`. This results in the address that was read from the doc being overwritten. This approach leads to a few issues:

1. It necessitates a `address_edited` property on `Idv::Session` and custom code to maintain the value of that column. This code also has a tricky bug where it does not track address edits if the same data is submitted twice.
2. It differs from the in-person workflow where the document address and the user address are maintained seperatly for use in double address verification

This commit introduces a new pattern where the PII collected from the user is stored in an immutable object in the `Idv::Session`. This lets us be confident that the PII we have in the session is in fact what the user entered and operate it on such.

This commit makes changes to the session so it will require a follow-up change to read this data once this has been deployed. All of that will need to be followed by a change to stop writing the data using the old approach.

[skip changelog]
…uirement (#10395)

* LG-13022 Allow in-person proofing to satisfy biometric comparison requirement

When a user proofs in-person they satisfy the biometric comparison requirement since that is done when they present their document. This was not recognized as satisfying the biometric requirement in the code. This commit makes adjustments so that it does.

[skip changelog]
changelog: Internal, Geocoder, Avoid initializing geocoder in test environments
changelog: Internal, SAML, bump to latest saml-idp version
* changelog: Internal, Webauthn, specify hints for webauthn security key enrollment

* rename interface for authenticatorSelection

* leverage interface inheritance

* update test for platform authenticator, hints interface

* make typing more specific for hints @ EnrollOptions

* fix typo in test setup

* include hybrid hint, rename property to hints, use array of strings, 'type' key union
(Redo of #10308, which had issues with file permissions when deployed)

[skip changelog]
We have approval to enable VTRs and we will be preferring them over the old ACR values in most envs. This commit changes the default config to reflect that in the config.

[skip changelog]
…here necessary (#10391)

* Make sure code before proofing results job checks that tmx is enabled

* undo unnecessary redirection for fraud rejection and make sure fraud pending redirection is aware of tmx via fraud pending value

* changelog: Bug Fixes, In-Person Proofing, check all threatmetrix config values where necessary

* linting

* realized that we need to redirect on fraud rejection and ipp failure at post office undoing previous change and adding in additional logic

* Need to alter analytics now that we take into account the device profiling

* updating profile maker spec

* add explanatory comment
…10404)

* LG-13033: Reuse registration page for resending email confirmation

changelog: Bug Fixes, Sign Up, Avoid prompting for Rules of Use on resent email confirmation

* Update spec helper to submit email registration page

* Use fully qualified URL for redirect

See: https://github.com/18F/identity-idp/pull/10404/files#r1559877490
* add inline styles to the component

* add as style property

* insert svg into html

* Add changelog

changelog: User Facing Improvements, Login Design System Component, login-button embed styles foor partner use

* fix lint errors and update spec

* Update app/components/login_button_component.html.erb

Co-authored-by: Andrew Duthie <1779930+aduth@users.noreply.github.com>

* moved svg logic and render out of html

* Update app/components/login_button_component.rb

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

* Update spec/components/previews/login_button_component_preview.rb

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

* fix test for button text

* change num to rem for svg size and tweak margins for alignment

* Update app/components/login_button_component.rb

Co-authored-by: Andrew Duthie <1779930+aduth@users.noreply.github.com>

* remove div and unecessary styles

* run lintfix

* refer back to figma for proper size of svg

* Update app/components/login_button_component.rb

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

* adjust size for big (was a little small)

* Update spec/components/previews/login_button_component_preview.rb

Co-authored-by: Andrew Duthie <1779930+aduth@users.noreply.github.com>

---------

Co-authored-by: Andrew Duthie <1779930+aduth@users.noreply.github.com>
Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
…#10401)

* selfie checkmark Submit alt

* selfie checkmark add alt text for SDK 11.9.2

* changelog: Upcoming Features,Document Authentication,Add alt text to selfie checkmark image for screenreaders

* enable biometrics in review apps

* update alt form 'submit' to 'use this photo'

* undo enable biometrics in review apps
* Convert device context to typescript

* Add function to device context

* Sketch in resolution detection

* Add user facing mode to constraints

* Add BE log receivers

* Remove temporary call

* Draft in non-context detection

* Move device detection out of context

* Working logging of event

* Start fixing BE log

* Add info to log on BE

* Remove unneeded function

* Remove unneeded comment

* Remove test implementation

* Replace map with forEach

* Add attempt at permissions detection

* Rename function and file

* Rename events

* Update state name

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

* Use new naming

* Start converting to a hook

* Revise hook and events

* changelog: Internal, Logging, Add logging of user camera resolution for document capture page

* Alphabetize logs in controller

* Add unit tests for the new hook

* Clean up global object overrides

* Remove deprecated service file

* useRef instead of useState

* Convert event name to new style

* Change event names and test error tracking

* Just log that the error happened

* Add comment

* useDefineProperty to teardown global changes

* Move towards aggregating logs

* Finish rework with log grouping

* Clean up naming and console log

* Add types

* Comment the code to clarify function

* Lint fixes

* Use `waitFor` instead of user event

* Send the error to the BE

* Fix lint

---------

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

* changelog: Internal, FSM, add state id feature flag
@solipet solipet merged commit a6648d0 into stages/prod Apr 11, 2024
@solipet solipet deleted the stages/rc-2024-04-11 branch April 11, 2024 19:47
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.