Network availability reports reachable when connected to a network with bad DNS.
Steps to reproduce
- Go on a network whose dns (and IP) is down - or manually set the DNS servers to some invalid value.
- Optionally send a message.
Outcome
What did you expect?
The network unavailable banner should be shown.
What happened instead?
The syncing banner shows forever an never goes away. Messages simply fail to send with the error "Failed to send message" and the option to retry.
Your phone model
13 pro max
Operating system version
15.4
Application version
1.8.19
Homeserver
m.org
Will you send logs?
Yes
i would send logs if someone had fixed rageshake :((
i would send logs if someone had fixed rageshake :((
They should be working again on the latest TF
Will be improved by https://github.com/vector-im/element-ios/pull/6314
Having looked into this, it affects the app as a whole. Some observations:
- When DNS is incorrectly configured, requests all report as timing out but that the network is reachable.
- We use
AFNetworkReachabilityManager.sharedfor reachability which seems to report a reachable network in this instance. - Creating a custom instance for a specific domain such as
AFNetworkReachabilityManager(forDomain: "matrix.org")initially shows with an unreachable network, but given a minute or 2 will also decide that the server is reachable. AFNetworkReachabilityManagerusesSCNetworkReachabilityunder the hood.- Switching to
NWPathMonitor, this also reports a path status ofsatisfied.
Note: I've downgraded this from a P1 as it definitely isn't a frequently occurring issue.