Support Article

Session timeout - pop windows not closed

SA-26760

Summary



Popup windows opened from the application is not getting closed after session timeout when custom Javascript to launch the popup windows are used.

Error Messages



Not Applicable


Steps to Reproduce



1. Implement session time out using pxSessiontimer section and mention required timeout and warning timeout values.
2. In a portal open report in a workspace and configure to open an item from the list in a popup.
3. At runtime, open the list item in a popup  keep the session idle for sometime.
4. After session timeout, the requestor session is getting logged off but the popup window still exists.

Reference: SA-26288


Root Cause



The code provided in SA-26288 was working fine.

A listview was including custom javascript for onClick events that opened windows for Work Objects using window.open. So the UI Application layer was not tracking these popup windows. 

Resolution



When using own window.open javascript function, user can add the window object to UI Application object layer for tracking with the following code:

// Open a window (Custom code not using PRPC API)
var objWnd = window.open(strUrl, strWindowName, strWindowFeatures + "," + strFeatures);

  
/* Add window to app.openedWindows so it can be closed on timeout logoff */
var app = pega.desktop.support.getDesktopApplication();
if (app){
      app.openedWindows.push(objWnd);
}  

With this code the popup window is now part of the UI Application objects openedWindows array. 

Published August 12, 2016 - Updated August 22, 2016

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.