mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-08-14 11:30:18 +00:00
closeModal leaves an animated modal in modalViews and only stages its index in toRemove, drained when the animation ends. hasModalOpen and isLastModalOpen scanned modalViews directly, so for the ~250ms of the close animation they still reported a dismissed modal as open. A caller that closes on "is my modal still the last one?" therefore popped the modal underneath as well - on Android, where every placement shares one stack, backing out of the create-profile form while creation was in flight dismissed the New chat screen too. Both checks now skip the entries already staged for removal.