Fix blocked presentation after dismissing context menu and opening Safari #52
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is a case where attempts to present a Safari view controller could happen while a context menu is appearing/dismissing. Usually context menu automatically disappears and is not present in a hierarchy, but in rare occasion it might still be here. Then, after we present Safari view controller on top of that context menu, the system will dismiss incorrect view controller. All that combined causes further presentation attempts to no longer work.
This is a situation that I sometimes encountered when pressing on a button that opens Safari view controller while other unrelated context menu is still dismissing. It's very random and uncommon so I don't have r but if it happens it is no longer possible to present Safari view controller again.
A quick hack is to skip presentation attempt if we see context menu on top of hierarchy. This doesn't resolve the issue fully but makes it so the Safari won't open only once. Further presentation attempts return to normal behavior.