diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2022-03-25 13:44:43 +0100 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2022-03-25 16:33:14 +0100 |
| commit | 033df3872d425dfaf640823b2236c39df7168aca (patch) | |
| tree | 66d8c43ebd8d06d034e58046e0c1a7e1d49d5bae | |
| parent | 66ca67ed36b0345148f622c3255516808320421a (diff) | |
| download | mullvadvpn-033df3872d425dfaf640823b2236c39df7168aca.tar.xz mullvadvpn-033df3872d425dfaf640823b2236c39df7168aca.zip | |
TunnelManager: refresh tunnel status only when connecting or reasserting to pick up the next relay
| -rw-r--r-- | ios/MullvadVPN/TunnelManager/TunnelManager.swift | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ios/MullvadVPN/TunnelManager/TunnelManager.swift b/ios/MullvadVPN/TunnelManager/TunnelManager.swift index 10af385a93..74e36770c6 100644 --- a/ios/MullvadVPN/TunnelManager/TunnelManager.swift +++ b/ios/MullvadVPN/TunnelManager/TunnelManager.swift @@ -279,10 +279,17 @@ final class TunnelManager: TunnelManagerStateDelegate { self.logger.error(chainedError: error, message: "Failed to reconnect the tunnel.") } - // Refresh tunnel status since reasserting may not be lowered until the tunnel is fully + // Refresh tunnel status only when connecting or reasserting to pick up the next relay, + // since both states may persist for a long period of time until the tunnel is fully // connected. - self.logger.debug("Refresh tunnel status due to reconnect.") - self.refreshTunnelStatus() + switch self.tunnelState { + case .connecting, .reconnecting: + self.logger.debug("Refresh tunnel status due to reconnect.") + self.refreshTunnelStatus() + + default: + break + } DispatchQueue.main.async { completionHandler?() |
