- Updated work items with new statuses, notes, and dependencies: - `PDIAP-15838` moved to Done, draft PR remains unmerged. - `PDIAP-15836` status updated to backlog-ready, sequenced after `PDIAP-15838`. - `PDIAP-12284` reopened for UIKit removal, dependency for `PDIAP-15836`. - Added new backlog items: `PDIAP-11961`, `PDIAP-11962`, `PDIAP-11562`, `PDIAP-12226`, `PDIAP-12227`, `PDIAP-12228`. - Completed `PDIAP-16167`, documented findings in Confluence. - Created daily log for 2026-05-05 summarizing work item updates and backlog triage. - Added diagnostic script for workspace analysis.
2.6 KiB
2.6 KiB
type, project, status, ticket, title, systems, workstreams, people, related, tags, updated
| type | project | status | ticket | title | systems | workstreams | people | related | tags | updated | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| work-item | fidelity | done | PDIAP-16167 | AccountLink - XFlow causing web view rewrites investigation |
|
|
|
|
|
2026-05-05 |
PDIAP-16167 - AccountLink - XFlow causing web view rewrites investigation
Status
- Done
- Confluence report published
- Findings/comment sent to Zachary and posted for Jira/Discourse follow-up
Context
- Discourse 30181: FTTransfer (Zachary) reported that the AccountLink webview reloads / goes blank when the user taps the exit button in the FTTransfer playground.
- Zachary believes the issue is "new" and linked to a recent XFlow version change.
Confirmed Findings
- Root Cause: SwiftUI Identity Reset (Modifier-Site Teardown). The
.ftFullScreenCovermodifier was anchored to a volatile branch insideBankInformationView. When the webview triggered an exit alert, the environment republish dismantled that volatile branch and rebuilt the presenter off-screen, causing the blank screen. - XFlow is NOT the cause: XFlow eventing fires once to toggle a boolean and exits. The teardown happens later on a local JS/alert callback. XFlow does not mutate view identity, host lifecycle, or alert state.
- v0.1.0 Rollback Proof: The issue persists identically when rolling back XFlowSDK to v0.1.0 (pre-REST, pre-Apollo removal), empirically proving the defect is decoupled from the SDK's recent evolution.
- Comparative Analysis: The non-XFlow entry point (Zachary's alternative flow) survives because it uses a stable coordinator boundary (
BankSetupContainerView/NavigationStack), bypassing the fragile modifier placement.
Verified Resolution
- Moving the
.ftFullScreenCoverand theshouldShowWebViewobserver to the stable root ofBankInformationViewresolves the issue. Pure SwiftUI fix, no UIKit workarounds needed. - Jeff acknowledged the fix and asked to include it in the Confluence report.
Current Guidance
- Keep future references clear that this was documented as a consumer-side SwiftUI presentation-topology defect, not an XFlow/XFlowViewMaker regression.
- Include Jeff's preferred clarification that
XFlowSDK v0.1.0predates the REST and Apollo-related changes that were newer additions.
Closure Notes
- The published recommendation is to move the full-screen cover modifier to the stable root of
BankInformationView, outside the conditional branch. - David moved the story to Done on 2026-05-05.