I cannot easily put into words how frustrating it is to have an SSH session be terminated remotely (for example, by pulling the plug on the physical server, switching VPNs or deleting a cloud instance), yet the SSH session will simply hang for a while until it eventually realises the remote server is not responding. And the timeout starts counting from the moment you try to type anything into the terminal, so you have to forcefully close the terminal window if you don't want to wait.
There should be some kind of heartbeat service by default that pings both ends of the connection every few seconds if there's no other activity going on (such as the user typing something in, or receiving text from the remote server) that terminates connections after a reasonable amount of time, for example 30 seconds. This should of course be overrideable for extremely high latency SSH connections such as satellite Internet uplinks.
@e Many thanks. This will become useful.