81 lines
5.8 KiB
Markdown
81 lines
5.8 KiB
Markdown
---
|
|
type: work-item
|
|
project: fidelity
|
|
status: done
|
|
ticket: PDIAP-15765
|
|
title: "AO DOB field error not showing investigation"
|
|
systems: [xflowsdk, xflowviewmaker, ftframeworks, fid4, cogstore]
|
|
workstreams: [ao-discourse, xflow-debugging, consumer-integration]
|
|
people: [jeff-dewitte, gurram-santosh, raj-sundararaj]
|
|
related: [pdiap-15838]
|
|
updated: 2026-04-20
|
|
tags:
|
|
- work-item
|
|
- fidelity
|
|
- ao
|
|
- xflow
|
|
---
|
|
# PDIAP-15765 - AO DOB field error not showing investigation
|
|
|
|
## Status
|
|
|
|
- Done
|
|
- Small XFlowSDK compatibility fix merged and released in XFlow `2.8.48`
|
|
- XFlowViewMaker was updated to the new XFlow version, approved, and published after the required code-owner approval
|
|
- The downstream Fid4 update was carried through a consumer PR that was later approved and merged
|
|
|
|
---
|
|
|
|
## Context
|
|
|
|
- This ticket is tied to an AO DOB validation issue.
|
|
- The issue was confirmed for authenticated users in the `HybridYouthAccountOpening` flow on the `TeenIdentityCheck` page.
|
|
|
|
---
|
|
|
|
## Confirmed Findings
|
|
|
|
- The issue reproduces only for authenticated users based on the currently stored evidence.
|
|
- The Youth / `TeenIdentityCheck` scenario is the iOS-only issue; do not describe it as reproducing on Android.
|
|
- Root cause was documented.
|
|
- The original external report was incomplete.
|
|
- For the config discussion, `CheckIdentity` was already correct. The `TeenIdentityCheck` issue had two config gaps inside `validation-rules`: the root key should be `validations`, and the age gate also needs `eighteenOrAbove` there when that rule is required.
|
|
- Follow-up validation on April 13 showed two distinct authenticated scenarios rather than one uniform cross-platform issue.
|
|
- A `HybridBrokerageAccountOpening` / `JointIdentityCheck` scenario reproduces on both iOS and Android.
|
|
- A `HybridYouthAccountOpening` / `TeenIdentityCheck` scenario works on Android but fails on iOS.
|
|
- Current evidence suggests Android is more flexible in how it decodes rule variations, while iOS is stricter about the expected `validation-rules` structure.
|
|
- Later validation on April 15 showed the original `HybridYouthAccountOpening` / `TeenIdentityCheck` issue no longer reproduces once the payload uses `validations` instead of `birthDate`.
|
|
- A minimal XFlowSDK fix was still prepared on April 15 so the iOS `.apxDateSelect` path also falls back to `birthDate` for a future release.
|
|
- Jeff confirmed on April 15 that this minimal iOS fallback is the right fix direction for the Youth / `TeenIdentityCheck` case and approved opening the PR under the same story.
|
|
- On April 16, Jeff decided the iOS PR should be the primary fix path for the Youth / `TeenIdentityCheck` issue rather than relying on a separate service rollout.
|
|
- Later on April 16, the PR received final approval, was merged, and the XFlow release was cut as version `2.8.48`.
|
|
|
|
---
|
|
|
|
## Current Guidance
|
|
|
|
- Treat the iOS-only `HybridYouthAccountOpening` / `TeenIdentityCheck` discrepancy as the main client-side issue currently aligned with the story.
|
|
- Keep the cross-platform `HybridBrokerageAccountOpening` / `JointIdentityCheck` scenario separate until it is clear whether it is a service/config issue, a distinct bug, or an unreported rule-processing difference.
|
|
- Keep the authenticated-user qualifier whenever this ticket is mentioned.
|
|
- Do not describe it as a generic validation issue without the `TeenIdentityCheck` and auth context.
|
|
- The originally reported Youth issue was fixed for the Youth-flow `TeenIdentityCheck` path by the service-side payload update from `birthDate` to `validations`; local Fid4 validation also confirmed it. The XFlowSDK fallback PR should still be released so iOS handles the older `birthDate` format more safely.
|
|
- That service-side Youth fix was later rolled back in QA so the iOS PR can remain the single fix path; local Fid4 validation with the PR still confirmed the `birthDate` validation works correctly.
|
|
- Jeff provided historical context that these fallback paths exist largely to accommodate older AO payload conventions; when the issue is AO-specific, iOS-only, and caused by a service-vs-SDK key mismatch, this kind of iOS fallback is the usual fix.
|
|
- The `HybridBrokerageAccountOpening` / `JointIdentityCheck` issue is different from the original Youth report: the rule content itself does not include `ageRange` or `eighteenOrAbove`, so that path still points to a service-side update rather than the same iOS parsing gap.
|
|
- David compared `HybridBrokerageAccountOpening` / `JointIdentityCheck` in Cogstore and found the relevant rule content is the same in QA and Production despite different flow-definition versions, so that separate issue should also exist in Production.
|
|
- The small iOS PR should be described as a compatibility safeguard for future older-format payloads and should not be framed as applying to the `HybridBrokerageAccountOpening` / `JointIdentityCheck` issue.
|
|
- The service-side `birthDate` -> `validations` change and the small iOS PR both relate to the same Youth / `TeenIdentityCheck` issue; they should not be described as separate Youth issues.
|
|
|
|
---
|
|
|
|
## Next Step
|
|
|
|
- The XFlowViewMaker approval and publish step are complete.
|
|
- The Fid4 dependency conflict was resolved through the podspec repo by removing the XFlowViewMaker version reference from both the latest `FTAccountOpen` and `FTTransfer` podspecs.
|
|
- The podspec-repo PR was sent to Tauf and approved.
|
|
- After that merge, `pod install --repo-update` in Fid4 worked because the published podspecs no longer restricted the XFlowViewMaker version.
|
|
- The Fid4 PR with the latest versions was later approved and merged.
|
|
- Story moved to Done after the downstream release propagation completed.
|
|
- Keep the separate `HybridBrokerageAccountOpening` / `JointIdentityCheck` scenario out of the client-fix scope unless later evidence proves it is part of the same issue.
|
|
- Consider a separate follow-up ticket for the cross-platform service-side issue if that path still stands after consumer confirmation.
|