Skip to content

Deploy RC 286 to Prod#8539

Merged
solipet merged 20 commits intostages/prodfrom
stages/rc-2023-06-06
Jun 6, 2023
Merged

Deploy RC 286 to Prod#8539
solipet merged 20 commits intostages/prodfrom
stages/rc-2023-06-06

Conversation

@solipet
Copy link
Contributor

@solipet solipet commented Jun 6, 2023

User-Facing Improvements

  • Account Reactivation: Update content on password reentry step (#8532)
  • Confirmation page: Add interstitial confirming that the user wants another letter sent (#8527)
  • Identity Verification: Remove 404 on hybrid handoff (#8500)
  • Review step: Updating content on idv review / password reentry step (#8508)

Bug Fixes

  • IdV personal key: Allow profiles to reach personal key step from confirm_profile_has_been_created (#8533)
  • Profiles: Password reset profile activation bugfix (#8537)
  • Sign-In Alerts: Fix message for personal key MFA sign-in missing "app_name" value (#8531)

Internal

  • Analytics: Add analytics to onbeforeunload handlers (#8512)
  • Analytics: Sort analytics_events.rb and enforce sorting in CI (#8519)
  • Application dependencies: Upgrade postgres to version 14 (#8518)
  • In-Person Proofing: Use Rails-like i18n wrapper instead (#9165) (#8522)
  • In-Person Proofing: Add DOB validation for minimal age. (#8501)
  • Refactor: IdVSession to concern to use current_user by default (#8505)
  • Registration: Remove feature flag related to password confirmation (#8526)

Upcoming Features

  • In-person Proofing: Add two jobs to check enrollments that are ready (#8488)
  • Recaptcha: Add cancel option in spam protection screen (#8458)

matthinz and others added 20 commits June 1, 2023 09:27
* Remove a couple of stray extra lines in analytics_events.rb

* Sort analytics_events.rb

* Check analytics events are sorted during lint

changelog: Internal, analytics, Sort analytics_events.rb and enforce sorting in CI

* Add important notice to the top of the file

* Purposefully sort analytics events incorrectly to test CI

it occurs to me that i should ensure the combo of make / sh / grep on the ci runner delivers the same behavior as it does locally

* Revert "Purposefully sort analytics events incorrectly to test CI"

This reverts commit c29940c.
changelog: Internal, Application dependencies, Upgrade postgres to version 14

In #8475, we chose to keep Postgres at version 13 so that it could
[match production](https://github.com/18F/identity-devops/blob/33ba02736b37f3a79c50479892a03c6f3e920041/terraform/app/rds-variables.tf#L82).

However, when trying to continue on the `postgis` work, I found that
when installing `postgis`, `brew` installs 14 anyway, as a dependency of
`postgis`. There doesn't seem to be an easy way to tell Brew not to
install 14, or postgis to use 13 instead. This becomes an issue then
when the app is using 13, but `postgis` is using 14.

I thought it'd be better to change this now than wait for the postgis
work to be ready, as it would potentially stop folks from installing an
extra version of postgres.

There may be another workaround, but after reading [a homebrew issue
about versioning issues with postgres and postgis](Homebrew/homebrew-core#86709), which included
suggestions like [making your own copy of `postgis` and changing its
dependencies](Homebrew/homebrew-core#86709 (comment)), it seemed like upgrading `postgres` was a
better solution.

While it will mean dev is on a different version than prod, most folks
have been using 14 or even 15, so we don't expect issues to arise.
)

* LG-9825: validate dob for minimum age.

* LG-9825: validate dob for minimum age.
and test cases.

changelog: Internal, In-Person Proofing, Add DOB validation for minimal age.

* LG-9825: no need to convert to string.

* LG-9825: show backend validation error in UI.

* LG-9825: linter issue.

* LG-9825: linter issue.

* LG-9825: view component test update.

* LG-9825: update error message.

* LG-9825: update test for error message.

* LG-9825: boolean method.

* LG-9825: Address some commments. Check cleaned error emptiness for FormResponse success flag.

* LG-9825: Hmm, looks like tests expect this real validation result.

* LG-9825: test.

* LG-9825: use rails 7 Comparison validator.

* LG-9825: rarely when it cannot be parsed to Date.

* LG-9825: refactor to extends rails7 ComparisonValidator.

* LG-9825: use duck typing syntax.

* LG-9825: clean up.

* LG-9825: address comment.

* LG-9825: address comment.

* LG-9825: address form related fix.

* LG-9825: doc update.

* LG-9825: test updates.

* LG-9825: context name etc in tests.

* LG-9825: context name etc in tests.
* IdvSession to user current_user by default and effective user when current user is not present

* changelog: Internal, Refactor, IdVSession to concern to use current_user by default

* remove effective user since current user exists in controllers using StepUtilitiesConcern

* comment usage of current_user in IDVSession concern

* temp test to demonstrate DocumentCapture controller does not directly use effective_user

* remove effective user from idv session concern

* replace effective_user with idv_session_user in SessionErrorsController

* controllers that include this concern all have current user and hybrid document capture does not include this concern

* idv sessoion user needed incase user is coming from hybrid doc cap to another step like link_sent

* add IdvSession to RateLimitConcern test controller

---------

Co-authored-by: AmirReavis-Bey <amirreavis-bey@fcoh2j-wyp9w9mv.localdomain>
* Use :js only where needed in hybrid_handoff feature specs

* Remove unused methods from hybrid_handoff_controller

* Add before_action that checks if flow_path is set

* Add controller specs for before_action

* Set flow_path to nil when redirecting to hybrid_handoff

[skip changelog]

* Fix prev PR: Redirect to document_capture instead of capture_complete

After trying to go to link_sent in hybrid_mobile_spec

* Check flag in document_capture redirect

* With feature flag on, redirect from UploadStep back to DocumentCapture

When UploadStep or HybridHandoff have already been completed. This is for the 50/50 state.
* Add flow_path back to upload submitted analytics

Analytics are sent separately from hybrid and standard code paths, and there were no specs on the standard path

[skip changelog]

* Use telephony_form_response for analytics when hybrid is chosen

Confirmed by looking at UpdateStep logs that the telephony form response is added to analytics
* Adding info localization, banner, and test update
* Updating locales and view with new body text
* Updating locales for the header
* Removing help article link and information accordion
* Bringing feature spec in line with removals
* Using get_a_letter indicator step for GPO path

changelog: User-Facing Improvements, Review step, updating content on
idv review / password reentry step

Co-authored-by: Andrew Duthie <andrew.duthie@gsa.gov>
* Updating locales and gpo template
* Updating feature test for re-send case
* Switching to use of StatusPageComponent

We are reusing the gpo_controller aka "Want a letter?" code to create
this interstitial page.

changelog: User-Facing Improvements, Confirmation page, add
interstitial confirming that the user wants another letter sent
* Analytics for doc capture polling onbeforeunload

* Refactor promptOnNavigate logic out into a package

Set an onbeforeunload handler, do some analytics, manage cleanup.

* Ping 5, 15, and 30s after onbeforeunload

* remove stray extra newline

* Remove peerDependency from prompt-on-navigate package

* Remove stray file

* Don't use a separate var to track whether promptOnNavigate was bound

* Use window.setTimeout / window.clearTimeout

Avoid strange-looking `NodeJS.Timeout` type

* Lint

* Update doc capture polling tests to clean up

Don't leave onbeforeunload handlers hanging around

* changelog: Internal, Analytics, Add analytics to onbeforeunload handlers

* Put event names in variables

* Add README for prompt-on-navigate package

* Update events + add to FrontendLogController

* Update tests to reference event name variables

* Fake window.setTimeout etc. with useFakeTimers

Sinon's useFakeTimers covers global.setTimeout (which is callable as plain `setTimeout(...)`, but does not cover `window.setTimeout`.
* LG-9924 Add DB columns for User suspension

[skip changelog]
* LG-9872: Add missing interpolation value for personal key alert

changelog: Bug Fixes, Sign-In Alerts, Fix message for personal key MFA sign-in missing "app_name" value

* Handle valid exceptions for missing interpolations

* Update spec reference to string key

Caught by the new spec helper 🙌
* LG-9974: Remove verified info accordion from reactivation

changelog: User-Facing Improvements, Account Reactivation, Update content on password reentry step

* Remove more unused

* Update reference to decrypted_pii
* changelog: Upcoming Features, Recaptcha, Add cancel option in spam protection screen

* check phone controller, and add cancel option for when going through adding phone to curent account

* add user

* check rspec

* rubocop fix

* local assigns

* remove unneeded check

* fix space

* remove unneeded stubs
* Remove flags for password confirmation

changelog: Internal, Registration, Remove feature flag related to password confirmation
* LG-8440: Install aws-sdk-ruby; create migration for status check field

* initial class creation and job configuration making

* thinking comments

* subclassing done

* Adding appropriate subclass and tests for new methods for in person enrollment

* add second job

* Trim down specs

* Use helper methods for config checks

* Create new helper modules

* Refactor to use helper modules

* Undoing yarn bomb

* undoing mystery changes to packages

* changelog: Upcoming Features, In-person Proofing, Add two jobs to check enrollments that are ready

* correct class name in job config and whack with linter

* appeasing linter gods

* proper documentation and not nil for job name

* moving not nil values up

* Cleaning up application

* cleaning up analytics events

* chaining methods instead of rewriting queries

* Updating analytics to remove alteration of job name and instead as a field

* update error comment

* linty lint lint

* Refactor modules to classes

* Abandon module refactor

* Linty lint lint

* Added in check for in_person_enrollments_ready_job_enabled

* lint fix

* lint and decimal fix

---------

Co-authored-by: Timothy Bradley <timothy.bradley@gsa.gov>
* fixed users under fraud in gpo not seeing personal key

* add tests to check confirm_profile method

* add changelog

changelog: Bug Fixes, IdV personal key, allow profiles to reach personal
key step from confirm_profile_has_been_created
* New helper method will do proper checks to ensure that profile can
actually be activated
* add tests to active_after_password_reset
* add guard for password_reset deactivation_reason

changelog: Bug Fixes, Profiles, Password reset profile activation bugfix

---------

Co-authored-by: Alex Bradley <alexander.bradley@gsa.gov>
)

* From VerifyInfo, navigating to earlier pages returns here

Previously, users landed on the SSN page because it allows updates from VerifyInfo
and it was not checking the referer.

[skip changelog]

* Change redo document capture spec to match new behavior

- expect to land on VerifyInfo, not SSN
- expect success message
@solipet solipet merged commit d21d7c1 into stages/prod Jun 6, 2023
@solipet solipet deleted the stages/rc-2023-06-06 branch June 6, 2023 18:13
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.