Why did I get disconnected in the webclient for staffing?
Last updated on Jul 28, 2020
The webclient for staffing does not have any automatic time-outs other than the user-configurable auto-logout settings.
The webclient stays in constant communication with LibraryH3lp's server to make sure that the user is connected and able to respond to chats. When the webclient cannot reach the server, it sets the user to "busy" status, so that they won't be offered any brand new chats, and it tries to reconnect automatically. If the webclient is unable to auto-reconnect within a couple of minutes, it gives up and alerts the user that it has become disconnected, so that they can login again.
As an initial step, it never hurts to clear cache and specifically LibraryH3lp cookies.
If staffing from home or other location where the router is available, try power cycling the router if disconnects are otherwise not explained.
Common causes of webclient disconnects:
- Safari. Safari throttles network connections to tabs that are minimized, and this will eventually result in a disconnect from LibraryH3lp servers. It also seems to suspend the network if the tab is not kept on top as the active tab. If staffing in Safari, it is best to keep the webclient open in its own, non-minimized window.
- Chrome might throttle the network to the webclient if there are a lot of tabs/windows open and the webclient is not detected as an active one. If this is happening, running the webclient in its own, non-minimized window is a good idea, or running it in its own InCognito window.
- Using a mobile device (tablet, iPad, phone) to staff in the webclient. The device saves battery by throttling the network connection to web browser pages that are not active, so the user will get disconnected if the webclient is not on top, or becomes idle or locked. When using a mobile device, it is better to use an XMPP app.
- Poor network conditions. Examples: overloaded local network or ISP, dropped packets, low connectivity over wireless, oversubscribed wireless networks, and upstream problems.
- Computers going to sleep because of idle time. Because of browser sandboxing, this problem may manifest as the webclient appearing to be signed in when it really is not. The computer's idle process will not always communicate the closed state of the connection back to the browser.
- Switching between networks while signed in. Example: taking a laptop out of its dock to switch from a wired to a wireless network. You must sign out and back in when changing networks.
- Signing into the admin dashboard in the same browser as a different user. This will work, but it may disrupt chat management functionality like send file, access to the integrated Activity page, access to the integrated profiles page, etc.
- Proxy servers. A proxy server will even drop a connection in the middle of active chats. They have several problems:
- They don't respect the long-running connections to our server, causing the disconnects.
- They cache responses, which interferes with the reconnection attempts.
- Depending on configuration, they may also limit the number of simultaneous connections to any particular host across the network. This may cause the problem to appear only once a particular critical mass of people is signed in and/or chatting all at once, as can happen when bringing a service up live, following a successful testing period with fewer numbers of simultaneous logins.
- Note that we are NOT concerned with proxy servers such as EZProxy. That is a different animal and does not impact chat. We are concerned with proxy servers used internally, often to boost performance on large networks.
Suggestions for users of proxy servers:
The proxy server problem often can be solved completely by increasing proxy read timeout and/or increasing the number of allowed connections to a site.
Locally-installed clients are more robust
Despite all our efforts to make the webclient as reliable as possible, it will not work well for everyone. Locally-installed clients (those installed directly on a computer rather than only running through the web browser) will always be more robust than a web client because they tie into your operating system directly. You may have to use one of these.