Merged
Conversation
…ort (#11115) changelog: Internal, Reporting, Reduce threading and increase time slice default values for LG-99 Report
* Avoid Yarn install and trace in Docker assets precompilation changelog: lnternal, Continuous Integration, Improve performance of install step in continuous integration images * Copy all Yarn dependencies before install * Try bind mounts for Yarn install * Continue copying package.json & yarn.lock package.json needed for running Yarn commands. Lockfile may not strictly be necessary, but good to be safe to avoid installing unexpected versions if install is run unknowingly * Debug workspaces symlinks * Create temporary bind mount for workspace package Yarn installs workspace packages using symlinks, which is incompatible with Docker Related: lerna/lerna#2381 * Debug * Prefix relative paths in bind mount See: docker/cli#1203 * Absolute path bind mount * Try copy * Copy before install * ls after install * Remove secondary copy * Try again copy all packages * Sync idp_review_app to idp_prod * chown 🤷 * Remove debugging ls * Add explainer comment for copying packages See: #11110 (comment)
…1107) * LG-13111: Remove feature flag for email aggregation functionality changelog: Internal, Code Quality, Remove feature flag for baseline email functionality * Remove specs for removed "call" method * Remove test expectations around create_user_event dispatching notifications
* Build local copy of Digital Analytics Program changelog: Internal, Performance, Optimize loading of Digital Analytics Program script * Remove CSP exceptions for DAP CDN * Download and patch DAP as postinstall * Consistently return string value from UriService#add_params * Add spec to load DAP script * Update DAP script test to check syntax error on load DAP script has too many side effects and manipulates DOM in a way that's hard to clean up. Absent some other way to create an isolated DOM, at least check that the script can be evaluated without syntax errors. * Add DAP script to ESLint ignore * Add test for url_params behavior * Better coverage for combination url_params and attributes * Treat url_params as distinct property See: #11097 (comment) Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> * Use conventional capitalization See: https://github.com/18F/identity-idp/blob/main/docs/frontend.md#naming-conventions * Separate download and patch tasks to cache-bust by SHA * Ignore DAP script in TypeScript checks * Use more Makefile wizardry to generate compiled DAP Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> * Run analytics postinstall using Yarn cwd In production environments, `yarn install --production` won't make workspaces available, so trying to use `yarn workspace ...` will fail. This achieves the same effect without relying on the workspace being "installed" * Try avoiding default NPM lifecycle script names * Test using full install in cwd package * Try incorporating analytics tasks in build:js In CI Dockerfile, app files aren't available at time of install. This also aligns closer to how browsers.json is generated * Combine make tasks in build:js * Force analytics task in top-level Makefile Defer to sub-process to decide what needs to be done * Split install and build tasks for analytics Avoid dependency on package code existing during install step * Copy Makefile earlier in Docker images * Try complete build if folder available * Revert to original postinstall approach --------- Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com>
* Update help center links Changelog: User-Facing Improvements, Marketing Site, Update links to marketing site
We would like to know who is using the deprecated AAL3 ACR parameter. See https://gitlab.login.gov/lg-people/lg-people-appdev/Melba/backlog-fy24/-/issues/10 changelog: Internal, Reporting, Add AAL3 usage to protocols report
The SSN show page includes Javascript for device profiling. To identify a device profiling transaction we set `threatmetrix_session_id` and render that alongside the Javascript that performs the device profiling. This UUID is used downstream to fetch device profiling results. We observed that some users did not have a `threatmetrix_session_id` value in downstream steps. This appears to be because they submitted the "link sent" step which calls `undo_step` on the SSN step. Then, either due to network issues or an unusual path through the process they were able to submit the SSN form without re-rendering the SSN show page. Investigating this we questioned why the `threatmetrix_session_id` needs to be deleted when the user submits earlier steps. It appears it was added in #9589 which configured the back button functionality from the SSN step back to other steps. It appears that the `threatmetrix_session_id` was set to `nil` there in order to return to the state that existed before the step was submitted and not because of a specific concern about stale IDs or anything like that. In order to prevent the issue where users have a nil ID after viewing the SSN step but submitting later steps and proceeding without re-viewing the SSN step, this commit removes the code to reset the threatmetrix session ID. This should be fine since the old ID will represent a device profiling transaction for the current session which is ultimately the goal. [skip changelog]
* Standardize completions screen logo changelog: User-Facing Improvements, Completions, Use standardized logo image for consent screen * Revert image for IPP verified * Remove unused user-signup.png * Add explicit height for completions image Previously omitted because two possible images didn't have a common height Better to include both width and height to avoid page relayout perceived performance
* Update fugit dependency changelog: Internal, Dependencies, Update dependency to resolve security advisory * Update fugit to at least 1.11.1
…11121) * Add failing spec for error seen in prod * Fix error by skipping results with missing data - also log warning so we can investigate changelog: Bug Fixes, Reporting, Add handling for error seen first day of the month
* Socure KYC Proofer - Basic Proofer implementation for Socure KYC. - Request / Response classes, error handling, etc. changelog: Upcoming Features, Identity verification, Implement proofer for Socure KYC * Updates after manual integration test - Lint fixes - Move temporary consent timestamp back a little bit * In ruby we just say @return * Array.wrap -> Array * Clean up accessors with .try * Remove pointless begin / end * Use named subject in request spec * Remove empty lines * Improve test names "it does the thing" is not good enough
* Rename AbTestBucket to AbTest AbTests have multiple `buckets`, so this commit renames the class to be a little clearer. * Refactor ab_test_spec.rb - Move tests into #bucket method block - Set up a `let` for bucket configs * Move discriminator calculation into AbTest Provide a proc that can be used to determine a discriminator from user/user_session/service_provider/request. changelog: Internal, A/B testing, Rework A/B testing system * Automatically log AB tests with analytics events. Augment analytics events with a top-level `ab_tests` property that lists each active test and which bucket the event is in. (This will likely break a lot of tests) * Add AbTestingConcern - Add new method, ab_test_bucket, for controllers to figure out what bucket the user is in * Update ACUANT_SDK AB test to use new system * Update DOC_AUTH_VENDOR A/B test to use new system * Allow more control over what events log A/B tests should_log can be a Proc, RegExp, etc. and is matched against the event name. * Limit existing A/B tests to IdV events * Improve use of document_capture_session_uuid as a discriminator - Handle case where UUID is present in session (hybrid flow) - Handle case where UUID is in Idv::Session * Limit should_log to RegExp only Right now all we're doing with this is checking to see if it's an idv-related event, which we can do with a Regexp. * Pass acuant_sdk_upgrade_ab_test_bucket into ApiImageUploadForm - Tell the form what bucket it's in so that it can log properly - Add test coverage for form submission when Acuant A/B test is enabled * Remove stray method accidentally added to Idv::Session * Fix lint issues in api_image_upload_form_spec.rb * Remove stray _test_ for method accidentally committed Earlier I was playing with having Idv::Session own discriminator calculation, but I didn't like it. I previously removed a method I accidentally committed--this removes a test for that removed method. * Add test coverage for A/B test initializers Run intialize tests under different conditions and actually verify they can return buckets
changelog: Internal, Performance, Optimize loading of Digital Analytics Program script
zachmargolis
approved these changes
Aug 22, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User-Facing Improvements
Bug Fixes
Internal
Upcoming Features