GNetworkMonitor wrong when offline and NetworkManager connectivity checker enabled
It seems like GNetworkMonitor has some problems in reporting network connectivity when checking a GNetworkAddress, and NetworkManager's connectivity checker is installed and enabled via the Privacy panel in Settings. The following is based on the attached test case program, see below.
If the program started when only a local network is available (i.e. no wifi or Ethernet connections available), it never picks up when full connectivity has been restored (GLib 2.58.1, NM 1.12.4).
If starting the test case program before going online, it reports:
-
network_available
: true (incorrect) -
connectivity
: full (incorrect) -
can_reach(...)
: Error thrown:Error resolving […]: Temporary failure in name resolution
After going online, but without restarting the program, it then reports:
-
network_available
: true -
connectivity
: full -
can_reach(...)
: true
If starting the program when online then going offline, it reports as above, but in reverse.
This is a bit of a problem since Ubuntu at least ships and enables this by default.
Test case: gnetworkmonitor.vala, compile with valac --pkg gio-2.0 gnetworkmonitor.vala --save-temps
, and equivalent C: gnetworkmonitor.c