peter you revealed some aspects of that I didn't thougth of and maybe there's more...
But maybe could the "app in foreground" vs "app in background or screen locked" be the condition for when client will try to join a network session.
And the same for the host but with the addition that it keeps the host avaliable as long as there are clients connected.
When a ST3 client isn't visible, it shouldn't be necessary to stay connected to the host anyway. To me it seems very lightweight to connect to a host so then it might not cause problem if a client disconnect temporarily for some reason, and then try to join again when ST3 again shows in foreground.
Couldn’t the hostname be used as a key for the session so clients can merge with the previous session after the host reestablished and clients reconnected...?! I mean what's the probability that there is two different ST3-host's that have the same name running on the same network?!
MacOS hosts on charging maybe shouldn't disconnect.. but for iOS devices, I think this might save the battery.
Damir yes, I think if there could be a convenient condition for when to stop hammering to join a network session, I think this could solve most of network reconnect issues.
I see that the joined client already keeps scrolling if the connection drops, so most of the times you may not even would notice that it was gone if it could reconnect automatically.