Gateway failure modes
The gateway is occasionally kicking all peers, which desynchronizes the network the isolates peers. The gateway needs some sort of failure mode that it regularly checks (perhaps every time a peer is potentially removed? Or perhaps a gothread that just runs a check every 5 minutes?) if there are peers available.
If there are less than 3 peers, it re-adds all the peers that it knows, even the abusive ones, giving priority to the hardcoded peers and the user-input peers.
The network is still a pronounced weakpoint of the software.