From 4d4d4f8916119fbc9d20dfcf1704deeab42f794f Mon Sep 17 00:00:00 2001 From: GuavaGoat <320862384+GuavaGoat@users.noreply.github.com> Date: Tue, 25 Aug 2026 05:48:16 +0000 Subject: [PATCH] desktop: show reconnecting state, keep call duration --- .../chat/simplex/common/views/call/CallView.desktop.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/call/CallView.desktop.kt b/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/call/CallView.desktop.kt index 75782d75d7..a4a6fdebff 100644 --- a/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/call/CallView.desktop.kt +++ b/apps/multiplatform/common/src/desktopMain/kotlin/chat/simplex/common/views/call/CallView.desktop.kt @@ -60,7 +60,10 @@ actual fun ActiveCallView() { try { val callStatus = json.decodeFromString("\"${r.state.connectionState}\"") if (callStatus == WebRTCCallStatus.Connected) { - chatModel.activeCall.value = call.copy(callState = CallState.Connected, connectedAt = Clock.System.now()) + // Makes sure it uses the connected value so if call reconnects it doesn't use the reconnecting value + chatModel.activeCall.value = call.copy(callState = CallState.Connected, connectedAt = call.connectedAt ?: Clock.System.now()) + } else if (callStatus == WebRTCCallStatus.Reconnecting) { + chatModel.activeCall.value = call.copy(callState = CallState.Reconnecting) } withBGApi { chatModel.controller.apiCallStatus(callRh, call.contact, callStatus) } } catch (e: Throwable) {