What does `widgets-navigate` refer to?

I'm looking to improve the loading time of a view in my app. When toggling verbose logging in the console, I see widgets-navigate taking big chunks of time.

What is widgets-navigate referring to and how can I possibly improve the time associated with it?

widgets-navigate describes the time it takes a function to execute (e.g. when a user taps on a button), as well as the digest cycle.

The digest cycle describes the functions that are run to refresh the view. This includes things like view values evaluated via JS, queries and variable values used in the view.

The duration of widgets-navigate should be the same as the duration the view loading spinner is shown when the view is updating after user interaction.

To reduce the time taken for the digest cycle it helps to narrow down specific functions, queries or operations that are taking long, and optimizing them systematically. Take care for basic issues like running queries in a loop, or OnlineDB requests that block the UI. Or if you are working with <1000 objects, be sure that the relevant app indexes are defined in the data model.

The best tool to debug the specifics is the Chrome Developer Console. You can run view functions from the console to see what is taking long. You can also run individual queries and more.

2 Likes