Skip to content

fix(core): iOS Tab page display issue if showing message dialog - #10075

Merged
NathanWalker merged 2 commits into
NativeScript:mainfrom
dgmachado:bugfix/ios-tab-display-issue
Nov 8, 2022
Merged

NathanWalker merged 2 commits into
NativeScript:mainfrom
dgmachado:bugfix/ios-tab-display-issue

Conversation

@dgmachado

@dgmachado dgmachado commented Nov 2, 2022 •

Copy link
Copy Markdown
Contributor

PR Checklist

What is the current behavior?

If the tabstripitem added with tap event which displays a message dialog, the tab page is not being displayed.

iOS issue detail: ".... called on <UINavigationControllerImpl 0x14580cc00> while an existing transition or presentation is occurring; the navigation stack will not be updated."

Reproduce steps:

  • Download and run the attached app. (run 'npm i' before running the app)
  • Switch to 2nd tab.
  • Notice the message dialog is being displayed from the tab item tap event, after closing the dialog, the tab page remains blank.

Before Fix

What is the new behavior?

Check if an existing transition or presentation is occurring and push the new navigation only after the transition completion.

After Fix

Example App

testPopover_tabBar3.zip

@cla-bot cla-bot Bot added the cla: yes label Nov 2, 2022
@farfromrefug

Copy link
Copy Markdown
Collaborator

@dgmachado very interesting fix for something which have been bugging us all for a long time. Will it also apply to showing modal just after a message dialog?

@dgmachado

Copy link
Copy Markdown
Contributor Author

@dgmachado very interesting fix for something which have been bugging us all for a long time. Will it also apply to showing modal just after a message dialog?

@farfromrefug this apply also to showing a message dialog just after the modal but the inverse I'm not convinced. If you have a sample app I could take a look.

@farfromrefug

Copy link
Copy Markdown
Collaborator

@dgmachado I can write one tomorrow. But I think simply opening a modal from a alert dialog button callback should trigger the issue. Just had it today (working around it with timeouts)

@NathanWalker

Copy link
Copy Markdown
Contributor

@farfromrefug if you end up with a secondary repro on the alternate path you mention we can handle in separate PR.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants