Perspective app navigation doesn't load page after a few tries

I have a project where I navigate between pages using the navigate() function. A button calls this function to open a navigation menu (menu tree), that navigates to other pages.

When I load the project in chrome (using web dev tools to show as a mobile screen), the navigation works fine. The problem is that when loaded in the app on an iPhone, the navigation menu doesn't open after a while. It works at the start, then doesn't anymore.

I believe this is caused by a cached link in the app (since going back by swiping from the edge of the screen seems to solve the issue.

How could I solve this issue?
Thanks

Are you using the Menu Tree's built-in navigation capabilities, or are you using system.perspective.navigate()? Or do you have a custom navigate() function you've written yourself that opens a Popup which contains a Menu Tree?

Please show the code you've written which seems to be encountering an issue. Screenshots can occasionally suffice, but formatted code snippets are preferred.

There isn't a lot of code, I use the system.perspective.navigate() function to go to a page that contains the menu tree when clicking a button. The menu tree works like Ignition intended.

All the pages I need to access have a standard ignition link ( /example ) and work fine on my browser.

The problem is that when I press the button to go to the page with the menu tree, it sometimes stops navigating there (only in the app). It seems to work the first time I want to access the navigation page, but not afterwards. Nothing happens when I click the button at that point.

The code on the button is as follows :

if self.page.props.path == "/navigation":
	system.perspective.navigateBack()
	
else:
	system.perspective.navigate('/navigation')

As stated earlier, it works as intended on a browser, but not in the iPhone app. It seems that is doesn't want to open the navigation page

I'd suggest putting some logging into the script to see which branch the session is executing in those instances.

# at the top of the script
system.util.getLogger("NAV_STATE").info(self.page.props.path)

Then check your Gateway logs for the NAV_SATE logger the next time you encounter the behavior. You might also want to modify the logged message to include the session ID if you have multiple sessions active and navigating.

It seems that spotty internet connection may be at fault! Logs were sent when the button was working, but not when it wasn't. I also started seeing slow connection and data not appearing during that time.

This is probably due to the fact that my computer is connected to a good wi-fi connection, but the cell phone to LTE with a bad connection to service.

Thanks for the help!

1 Like