When I push changes from Live to Staging, Child Site needs to be Reconnected, why?
When a Child Site is connected to a MainWP Dashboard, it creates an OpenSSL encrypted connection where the pubkey (Public key) gets saved to the Child Site database.
After pushing changes from the Live Site to Staging, or Staging to Live, the process includes the pubkey value (which is unique for each child site) and overwrites it with the value from the site where the changes are pushed from and this creates the connection issue.
When you deactivate/reactivate the child plugin, it clears the pubkey and the child site can be reconnected again.
The only way to fix this problem is to exclude the
mainwp_child_pubkey field (located in the wp_options) from the process.