-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LG-15479: Fix nil zipcode error during identity resolution #11820
Conversation
… IPP path Handle the case where polling has timed out and the user must click on the "Continue" button rather than being redirected. changelog: Bug Fixes, Identity verification, Fix rare issue where user may get stuck on "Verify your information"
@matthinz Sorry if I am missing the boat here. I feel like I am only hitting update in link_sent_controller (and your code) if I resubmit images- not picking IPP after I fail once due to barcode error. (I tested using barcode_attention_no_dob.yml) So I am not convinced that redirect is doing anything. I may very much be wrong, sorry if that is the case. When you say "Wait for the Continue button to appear on the desktop side" - I am not seeing that. On mobile (http://localhost:3000/verify/hybrid_mobile/document_capture#prepare) I see the continue on the Verify your identity in person view but not on the desktop side. I am testing using /test/telephony and using an incognito window to test mobile, could that be problematic in your experience? Also, when you say "Observe that you are redirected into the In-person proofing flow", I would expect to be on state id page. Can you confirm our expectations are the same? Also, I started to investigate LG-15131. I believe our problem is likely similar (fail hybrid handoff remote then move to ipp). I have not been able to replicate it locally but CloudWatch/New Relic have me convinced it is this flow. Update: I looked at this PR with PR#1182 and this makes sense. You are moving the in person redirect here and will remove it in link sent polling next. You commented above, I missed that. This is also where the direct for idv_ssn occurs so I think the redirect to ipp should be here rather than inside link_sent_polling_controller. I was able to create an pending enrollment from the hybrid flow. |
@@ -24,6 +24,16 @@ def update | |||
analytics.idv_doc_auth_link_sent_submitted(**analytics_arguments) | |||
|
|||
return render_document_capture_cancelled if document_capture_session&.cancelled_at | |||
|
|||
# If the user opted into in-person proofing in the hybrid session, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit - We usually say "opt in" when the user picked In Person on the How to Verify view. When they fail and then move to opt in- we don't refer to that as opt in bc it was not their first pick
Maybe... If the user failed remote and then moved to in-person proofing in the...
Not a deal breaker if you don't change it
🎫 Ticket
Link to the relevant ticket:
LG-15479
🛠 Summary of changes
We have a rare but persistent issue where users get stuck on the "Verify your information" screen because the
zipcode
stored with their PII isnil
.One way the user can end up in this situation is:
In this case, the user would end up in a state where they have both an IPP enrollment and
pii_from_doc
set in their session. This would cause the system to get confused, and attempt to usepii_from_user
data for identity resolution. That structure would be empty, thus the nil zipcode error.The cause here was that we had two different paths the user could take off the "Link sent" page:
window.location
) directly into the IPP flow, bypassing form submission on the "Link sent" page.This PR:
LinkSentController::update
to redirect the user into in-person proofing if it detects they should be thereFor users who complete IPP location selection and return to their desktop before polling times out and the "Continue" button is shown, they will still be redirected into the IPP flow (via
window.location
) as before. A subsequent PR will stopLinkSentPollController
from returning aredirect_url
for IPP and instead route all traffic through the "Continue" path, but this PR must be in place in prod first.📜 Testing Plan
Provide a checklist of steps to confirm the changes.