This is all very interesting... but let's go back to my initial question.
"but what if the signalling server goes down?"
I understand that at present you should leave the room BEFORE leaving the signalling server... but why doesn't Construct have measures in place to sort this out?
Why is there even an action in Construct that will completely break a feature?
If someone chooses to leave the signalling server before leaving a room, why doesn't Construct leave the room first automatically? In my tests, it takes 0.4 seconds to do that. Any less, and things break again. If it detects that we're in a room when we lose access to the signalling server, why isn't there some kind of safety in place to stop the multiplayer plugin from breaking entirely.
You all keep talking to me as though I'm not understanding what you're saying, while steering around my actual question. I mean, the solutions you're offering me is exactly what is already in my code!
For example, while testing this out, I unplugged my ethernet cable. How do you code for that? What if your ISP goes down? What if you have a power cut? Hell, what if you switch from wifi to 4g?
At present the only result is "Entirely break the multiplayer plugin, requiring your app to be reset!"
How is that an acceptable answer?
I was playing Apex the other day, and lost connection. When it recovered, I was able to join the game again immediately. They didn't expect me to quit Apex and reload it.