I’m not sure I understand what you mean at the end “if you want to actually engage”. But let me bring a scenario:
Let’s say you, as a server host decide to maintain an active connection / session with the user for whatever reason. It’s pretty common with ReactJS websites.
Your server grows exponentially. Instead of 10,000 active users you have 1,000,000. Things become a lot more complicated. For instance, using Firebase RealTime Database there is a hard limit of 200,000 active connections per database. Which, as a result, requires database sharding.
During all of this craziness of scaling you find a tasty metric: “5% of active users have been inactive, and not even focused on your page for over 10 minutes”. Bam, easy optimization right there.
So, to answer your question. They are not “resetting the chat”, exactly. They are disconnecting the “session”. Once you return to the page you reconnect, and just as if you refreshed the page: your chat is gone.
You know, it’s always a compliment to a programmer when a user goes “but look, it’s all there, it works so simply. Surely it can’t be difficult”.
What you are seeing is probably very shallow compared to what they store for you. At the very least, the chat itself is not the entire context (token limits). There is also probably a lot of metadata, embeddings, and correlations that occur for each message.
Could they re-build the conversation? Probably. Does it make sense? No. From every technical view this is just a bad idea.