diff --git a/Sources/App/DeviceManager.swift b/Sources/App/DeviceManager.swift index e91c827..221c27c 100644 --- a/Sources/App/DeviceManager.swift +++ b/Sources/App/DeviceManager.swift @@ -75,7 +75,8 @@ final class DeviceManager { throw MessageResult.invalidServerAuthenticationFromRemote } guard let socket = connection, !socket.isClosed else { - connection = nil + // Ensure that metric is updated + didCloseDeviceSocket() throw MessageResult.deviceNotConnected } guard receivedMessageData == nil else { @@ -169,6 +170,9 @@ final class DeviceManager { func didCloseDeviceSocket() { connection = nil + Task { + await updateDeviceConnectionMetrics() + } } func removeDeviceConnection() async {