Commit 17dba4b
authored
fix(iOS): fix quick modal presentation sequence where foreign modal is being dismissed (#2671)
## Description
Closes #2668
See the #2668 for issue description.
Making long story short: The issue involves cases when we have two
modals `A, b`, where `A` is owned and `b` is foreign, and we
dismiss `b` and present another owned modal `B` in single transaction or
in separate transactions but pulled quickly enough so that previous
transitions (caused by previous transaction) are not finished yet.
Currently, because of `b` being dismissed by its host view controller,
we would wrongfully dismiss the controller underneath (`A`). Now the
code takes possibility of `b` being in dismissal into account.
## Changes
We now check whether the potentially foreign modal is being dismissed -
if so, we schedule our updates to run **after** dismissal transition
completes.
## Test code and steps to reproduce
Tested for regressions:
* [x] `Modal` screen in Example
[PR](#1996)
* [x] Test2048
[PR](#2113)
* [x] Test1829
[PR](#1912)
* [x] Test1299
[PR](#1326)
This issue is quite similar to #1299 but concerns foreign modal not
owned one and mechanism are a bit different, therefore I've added
`Test2668`.
## Checklist
- [x] Included code example that can be used to test this change
- [x] Ensured that CI passes1 parent 51a1488 commit 17dba4b
3 files changed
Lines changed: 76 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
| 123 | + | |
123 | 124 | | |
124 | 125 | | |
125 | 126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
552 | 552 | | |
553 | 553 | | |
554 | 554 | | |
555 | | - | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
556 | 567 | | |
557 | 568 | | |
558 | 569 | | |
| |||
0 commit comments