Hi All,
I currently have an issue where the Reloading Form dialog box is not shown when user's session expires when a form is open which causes the request to /xforms-server to return the HTML login form. When that happens the following code is triggered in AjaxServer.js / var responseXML = o.responseXML; var responseXmlIsHTML = responseXML && responseXML.documentElement && responseXML.documentElement.tagName.toLowerCase() == "html"; var formID = o.argument.formId; var isResponseToBackgroundUpload = o.responseText && (! responseXML || responseXmlIsHTML);/ In this case o.responseXML is null and isResponseToBackgroundUpload evaluates to true and the following code is then executed /var fragment = o.responseText.substring( o.responseText.indexOf("<xxf:event-response"), o.responseText.indexOf("</xxf:event-response>") + "</xxf:event-response>".length); var xmlString = fragment.replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&"); responseXML = ORBEON.util.Dom.stringToDom(xmlString);/ This results in a portion of the login page's HTML being parsed as XML which resulted in a parse error. IE11 throws an exception at this point and stops script execution. Edge, Firefox, and Chrome populates responseXML with the error HTML page and the script execution continues as normal. Should this code not be executed if o.responseXML is null? Kind regards Kris -- Sent from: http://discuss.orbeon.com/ -- You received this message because you are subscribed to the Google Groups "Orbeon Forms" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. |
Administrator
|
Hi Kris,
Are you saying this issue only happens with IE11, and not with Chrome or Firefox? What is the "Reloading Form dialog box" you're referring to? Also, the session heartbeat feature should prevent the session from expiring, as long as the form is open. Did you by any chance disable that feature? https://doc.orbeon.com/contributors/state-handling.html Alex ----- -- Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet -- Sent from: http://discuss.orbeon.com/ -- You received this message because you are subscribed to the Google Groups "Orbeon Forms" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email].
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Hi Alex,
The dialog box I'm referring to is the /xforms-login-detected-dialog/ element which shows up when the server returns the login page. I've set the /oxf.xforms.login-page-detection-regexp/property to detect the login page as follows /<property as="xs:string" name="oxf.xforms.login-page-detection-regexp" value='.title.InfoMedix *- *Clinical Patient Folder *- *Login./title.' />/ We get the following when the session expires in Chrome, Firefox, and Edge, but not in IE11 <http://discuss.orbeon.com/file/t375253/Selection_001.png> The session heartbeat has been disabled since there are cases where users of our application leave the form window open for a prolonged period of time and we don't want their session to stay valid in such cases. Kind regards Kris -- Sent from: http://discuss.orbeon.com/ -- You received this message because you are subscribed to the Google Groups "Orbeon Forms" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. |
Administrator
|
Got it Kris, thank you for the precisions. That code isn't fresh enough in my
mind for me to have an answer to your question off the top of my head, but I will try to reproduce the issue, debug this code, and see if indeed we should not execute that code if `o.responseXML` is `null`. I'll follow-up on this thread when I know when I have more information about this. Alex ----- -- Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet -- Sent from: http://discuss.orbeon.com/ -- You received this message because you are subscribed to the Google Groups "Orbeon Forms" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email].
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Administrator
|
Hi Kris,
A quick update on this one: I've reproduced the issue on IE11, and for now created the issue linked below. I'll need to investigate this further, and will let you know as soon as I have more info on this one. https://github.com/orbeon/orbeon-forms/issues/3609 Alex ----- -- Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet -- Sent from: http://discuss.orbeon.com/ -- You received this message because you are subscribed to the Google Groups "Orbeon Forms" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email].
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Administrator
|
Hi Kris,
Alright, the issue is fixed. I'll get in touch with you "privately" through Basecamp to see if you need a patch for this. Alex ----- -- Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet -- Sent from: http://discuss.orbeon.com/ -- You received this message because you are subscribed to the Google Groups "Orbeon Forms" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email].
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Free forum by Nabble | Edit this page |