Chrome 88 introduced aggressive throttling of javascript that can cause unexpected session termination in Webswing. This affects all Webswing versions before version 20.2. How exactly does these changes affect Webswing users and what steps can be taken to resolve possible issues?

How does the Chrome throttling affects Webswing

When a Chrome tab with a running Webswing session is inactive or minimized for more than 5 minutes, chrome will schedule javascript for this tab once per minute. In the previous Chrome version, this was happening once per second.

Webswing is using heartbeat messages sent every 10 seconds from the browser via websocket. These messages are used to keep the websocket connection alive while the user is not interacting with the application. Chrome 88 will however schedule this heartbeat message only once per minute.

There are 2 different issues Webswing users can run into

1. If Webswing is deployed behind Reverse proxy and proxy’s idle connection timeout is set to < 60 seconds, then proxy will disconnect websocket. That will cause the session timeout countdown and eventually shutdown the user’s session even if the user has the browser tab still open in the background.

2. If the session timeout of an application is set to < 60 seconds in Webswing config, session timeout can trigger even if the websocket is not disconnected yet. This is because the application’s watchdog does not receive any messages from the browser, therefore assuming it is disconnected.

New architecture in Webswing version 20.2+ resolves the problem

Webswing version 20.2 came with a whole new architecture that resolves this problem with Chrome throttling of javascript. Webswing users should therefore consider downloading the latest version of Webswing. To download the latest version, visit webswing.org/downloads

Webswing customers can also contact the Webswing support team in order to receive patch of their currently used version. Patches are now available for earlier Webswing versions after contacting the Webswing support team.

Summary of options to mitigate the issues

There are three possible options Webswing users have to resolve this issue:

  1. Set reverse proxy idle connection timeout to more than 60 seconds
  2. Contact Webswing support team for patch of your currently used version
  3. Upgrade to Webswing 20.2+ Contact sales team
arrow_back_ios

PreviousWho stands behind Webswing

NextHere’s how to run a Java Desktop application in a web browser

arrow_forward_ios