Files
fidelity-ai-workspace/project-knowledge/02-work-items/pdiap-15836.md

65 lines
3.3 KiB
Markdown

---
type: work-item
project: fidelity
status: in-progress
ticket: PDIAP-15836
title: "Modernize dismissal delegate lifecycle sequencing for pure SwiftUI environment"
systems: [xflowsdk, xflowviewmaker, ftframeworks]
workstreams: [xflow-swiftui-migration, consumer-integration]
people: [jeff-dewitte]
related: [pdiap-14859, pdiap-12284, pdiap-15838]
updated: 2026-05-08
tags:
- work-item
- fidelity
- xflow
- swiftui
---
# PDIAP-15836 - Modernize dismissal delegate lifecycle sequencing for pure SwiftUI environment
## Status
- Moved to In Progress on May 7.
- David found a possible minimal dismissal fix path that would not require removing `UIHostingController`, and was validating it.
- Jeff directed David to do this dismissal/lifecycle work together with `PDIAP-12284` in the same branch because both changes are disruptive enough to require consumer testing.
- Sequenced after `PDIAP-15838` source work, but merge/release is delayed until after REST-transition consumer validation
- Sized at `8` points
---
## Context
- This story came out of the `AccountLink` root cause investigation.
- It is tied to the dismissal sequencing problem found after UIKit removal in SwiftUI-only paths.
- The root cause document was updated and the revised wording was approved.
---
## Approved Scope
- Modernize dismissal delegate lifecycle sequencing for pure SwiftUI flows.
- Cover the missing lifecycle contract where delegate callbacks can happen before the view is fully removed.
- Validate the change across affected SwiftUI flows rather than only in one narrow reproduction.
---
## Sequencing And Dependencies
- This story should come after `PDIAP-15838`.
- `PDIAP-12284` is the original UIKit-wrapping removal story and was reopened after rollback.
- Current working relationship: implement and validate `PDIAP-15836` together with `PDIAP-12284` in the same branch unless direction changes. David identified a possible isolated/minimal fix path, but Jeff prefers combined branch work because consumer testing is required either way.
- It is aligned with epic `26Q2 - Updating XFlowSDK to Decouple and Fix ApexKit Dependencies (Split Part 2)`.
- If possible, it should use the same consumer-impact feature flag strategy as the broader UIKit-removal rollout.
- Expect a long-lived branch: after implementation, maintain the branch until consumer-testing approval. Jeff expects the GraphQL-removal branch to merge first after the REST validation period, then that branch should be merged into the `PDIAP-15836` / `PDIAP-12284` branch. Current estimate is roughly 90-100 days from 2026-05-05 unless Fidelity shortens the review windows.
---
## Communication Notes
- Keep the scope framed as lifecycle sequencing in a pure SwiftUI environment, not only as a symptom like multiple modal presentation.
- If mentioned externally, keep it separate from `PDIAP-15838`.
- The Confluence/root-cause document was updated to reflect that FTTransfer changes are not the primary need anymore.
- The primary recommendation is to adjust the dismissal handling/sequencing correctly in the hosting path.
- FTTransfer improvements can still be mentioned as a secondary improvement, but not as a required change to reproduce the same visual behavior.
- When explaining why code still remains, clarify that the spike identified and documented the root cause, but implementation changes have not yet been published.