When the chat disappeared at end user side, you may observe below error on browser console,
Conversation <sys_id> does not exist.
While opening the disappeared conversation in connect mini window, you may observe below message,
security prevents viewing this conversation.
Custom business rule was updating the opened_by field of chat_queue_entry record with agent sys_id and hence Chat logic fails.
Review the custom business rule and set the condition of business rule as "sys_class_name != chat_queue_entry" so that business rule will not be executed for chat_queue_entry and hence chat logic would work as expected.