--- type: daily project: fidelity date: 2026-05-14 updated: 2026-05-14 focus: - PDIAP-12284 - PDIAP-15836 work-items: - PDIAP-12284 - PDIAP-15836 blockers: [] tags: - daily - fidelity --- # 2026-05-14 ## Focus - Continue `PDIAP-12284` / `PDIAP-15836` validation and cleanup for SwiftUI-host vs UIKit-host routing and dismissal sequencing. --- ## Findings - May 13 refreshed communication confirmed Quy said `PDIAP-12284` and `PDIAP-15836` can both remain In Progress together; no immediate Jira restructuring is required. - SampleApp validation support was refined so the app can exercise both host scenarios explicitly: UIKit host through `initialViewController(...)` and SwiftUI host through `makeInitialFlowView(...)`. - XFlowSDK routing should remain entrypoint-aware: the SwiftUI entrypoint prepares SwiftUI host state and clears UIKit bridge state, while the UIKit entrypoint prepares UIKit host state. This prevents `endActivity` from publishing to the SwiftUI dismissal subject when no `XFlowDismissalHost` subscriber exists. - Follow-up SampleApp changes removed the local `AnyView` state/storage approach and moved SwiftUI-host rendering behind a `ViewBuilder`-style `flowContent` path. This keeps `AnyView` out of SampleApp and leaves type erasure only at boundaries that truly require it, such as the existing XFlowViewMaker public boundary if still needed. - Current SampleApp host-mode validation still appears to depend on a deprecated `enable-swift-ui` toggle. Next source review should align SampleApp flag evaluation with the Fid4-style path for the specific rollback flag that enables the UIKit host, while keeping SwiftUI as the default path. ## Validation To Run - In SampleApp, validate UIKit-host mode by turning `Use SwiftUI` off, launching a flow, completing to `endActivity`, and confirming dismissal uses UIKit dismiss completion and returns to the list. - In SampleApp, validate SwiftUI-host mode by turning `Use SwiftUI` on, launching the same flow, completing to `endActivity`, and confirming dismissal goes through `XFlowDismissalHost` lifecycle sequencing and returns to the list. - Repeat both modes back-to-back without restarting the app to guard against stale singleton/default host-mode state. - Re-run Fid4 AccountLink validation in default SwiftUI-host and forced UIKit-host modes after the SampleApp changes settle. - After updating SampleApp flag evaluation, validate that the explicit UIKit-host rollback flag selects the UIKit path and that the default/missing/false value selects the SwiftUI path, matching Fid4 behavior as closely as the sample infrastructure allows.