Skip to content

ADP-6899: flush Flow input events before dismissal - #171

Open
lotfull wants to merge 1 commit into
adaptyteam:masterfrom
lotfull:ADP-6899-flow-exit-input-events
Open

ADP-6899: flush Flow input events before dismissal#171
lotfull wants to merge 1 commit into
adaptyteam:masterfrom
lotfull:ADP-6899-flow-exit-input-events

Conversation

@lotfull

@lotfull lotfull commented Aug 18, 2026

Copy link
Copy Markdown

Jira

Проблема

При фактическом закрытии Flow iOS мог уничтожить runtime, пока запись text value, focus callback или generated picker on_will_disappear еще выполнялись. Последнее customer analytics event терялось. SDK.closeAll() должен оставаться отменяемым публичным действием.

Изменение

  • При actual dismissal снимается текущий focus и один раз выполняется lifecycle видимых navigator-экранов.
  • Customer analytics queue дожидается delivery до DidDisappear.
  • Сохранена существующая семантика vetoable Close.
  • Покрыты UIKit, SwiftUI, reusable configuration, DeveloperTools renderer и cross-platform PlatformView.
  • Публичный API не менялся.

Проверка

  • xcodebuild test -scheme Adapty-Package на iPhone 17 Pro, iOS 26.5: 289 total, 285 passed, 4 skipped, 0 failed.
  • Все 6 новых Flow dismissal tests пройдены.
  • swift test: 283 passed.
  • Host XCUITest: normal focus loss, vetoed Close и actual SwiftUI removal пройдены; actual removal дал ровно action: close -> analytic: flow_user_input -> disappear.

Ограничения

  • Customer Unity end-to-end проверяется после выпуска native versions и dependency bump в отдельном PR.

Связанные изменения

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant