When enabled, this feature would tell the app to maintain its session with Dialogflow.
Dialogflow has a default session timeout of 20 minutes, meaning if a user spends >20min in another department and then returns to the bot, Dialogflow would create a new session/sessionID for it and lose any contexts associated with the original chat.
One option to achieve this, is to document an innocuous event like session_maintenance, and have an intent in Dialogflow that accepts it but doesn't have a text response.
When the user closes the widget and terminates the chat, the app can stop maintaining the session and send the chat terminated event #19 (its probably best to cap the maintenance at some configurable max time, like 2 hours, to prevent runaway maintenance processes)