Details
Description
When loading brXM the nav-app-to-app.js will immediately connect to the navapp but then on initialNavigation in the beforeNavigation call it will wait for all subapps to be connected.
Subapps are Channel Manager, Project Management and any custom perspectives that load an iframe and implement CmsSubAppIFrameCommunicationBehavior.
While it waits the loading screen is shown and as there is no timeout defined for the connection to a subapp it could potentially wait forever and the user will be stuck with the loading screen.
The proposed solution direction is to:
1. Add a timeout on connecting to a subapp, afterwhich a toast message with error and explanation will be shown and the connection will be discarded.
2. Skip the first beforeNavigation call, since the idea of this API is that in case a navigation happens a client app can save or reset some state and during the initialNavigation this could not be the case. Any subsequent navigations will still have to wait for the subapps to be connected or timed out.