Capacitor Network Plugin does not return 'connected' when a wifi connection has no internet access

I have a (complex) app that uses Capacitor and Angular. We recently upgraded to Capacitor v5 (I know - v6 is already out!). After shipping our update, we discovered a regression in the Network plugin.

Our app relies upon the ability to operate even when a custom network is isolated. In these situations, we provide a device that also sits on the isolated network and acts as a local edge server, relaying requests to the backend through secure tunnels as needed. In an environment like this, the Android network stack recognizes that the internet is not available. However, local activity continues to work just fine.

In version 5.0.6 of @capacitor/network, a call to getStatus will return a connected of true and a connectionType of wifi when the wifi network is fully connected to the Internet. If Android decides it is NOT fully connected, getStatus will return a connected of false and a connectionType of wifi. The earlier version we were using (1.0.7) returned a value of true for connected in this situation.

Sadly, this change has really broken our app for hundreds of our customers. We are working on a fix now. If anyone has a great idea for how to fix this, we are all ears!