nathantannar4 / Transmission

Bridges UIKit presentation APIs to a SwiftUI API so you can use presentation controllers, interactive transitions and more.
BSD 2-Clause "Simplified" License
463 stars 19 forks source link

Mismatch state and view presentation status #65

Closed vvisionnn closed 1 month ago

vvisionnn commented 1 month ago

What Happened

there is a bug with mismatched state of view presentation like, when the isPresented is false, but view still presented

More Detail

assume we have a view with multiple children can be presented

  1. parent presenting child 1
  2. child 1 trigger some actions and parent dismiss child 1 and meanwhile present child 2 (maybe some loading cover)
  3. after a very quick action (after child 2 presentation) fired and finished, child 2 now need to be finished (but child 2 still in presenting state)
  4. after all these steps, child 2 should be finally dismissed, even it has been dismissed when presenting
  5. but current behavior is child 2 still presenting

Repro Steps

  1. download the attachment (a small swift package) below
  2. open preview (just using preview for a quick report, same in both simulator and real device)
  3. hit the only one button and check the console log TransmissionBugReport.zip
nathantannar4 commented 1 month ago

Fixed in 1.5.3!