we’re facing issues with our app in Firefox, it works fine in Chrome. The iframe containing the app loads the contents of our application but apparently Jira doesn’t realise our application has finished loading, and is keeping the iframe at
opacity: 0; height: 0. If I manually override these settings, the application is visible and usable.
window.location.href="newDomain.com"). It seems like the issue is related to this redirect, since the app loads fine without redirect in our development environment (when exposing the app directly via a tool like ngrok).
Here’s a screenshot of the situation:
You can see that the DOM of our application is loaded in the iframe, but the CSS properties are unchanged and an Jira Cloud Error message is displayed.
Does anyone have an idea how we can fix this? How does Jira Cloud check if our application has finished loading?
Thanks for your help.
Does the html that you’re loading have the all.js on it so the bridge can be restablished?
Both the html page triggering the redirect and the target page include the all.js script tag.
Oh - you’re going to a different domain - just caught that. I don’t think you can do that I would imagine it would mess up the cross domain event bridge.
Well, it seems to be working in Chrome, where the iframe is resized and displayed correctly after the redirect. But in Firefox something goes wrong…
With some more debugging I’ve found out that it seems to be a problem with the initialisation of the cross domain event bridge. If we wait for the event bridge to be initialised and then redirect, everything works as expected. If we redirect asap, things break.
Sadly I could not find an event like “connectionEstablished” or similar in the Atlassian Connect API, so as a workaround we now listen for the iFrame’s height to be set from 0 to full height, which seems to be an indicator of a successful connection, and then trigger the redirect.
It would be great if the API could expose an event we could listen to.