From 417d2ce971c85f708fb255bd2773aba12afd19f5 Mon Sep 17 00:00:00 2001 From: AsamK Date: Thu, 16 Apr 2026 21:04:20 +0200 Subject: [PATCH] Keep websocket connection alive during call --- .../java/org/asamk/signal/manager/helper/CallManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/CallManager.java b/lib/src/main/java/org/asamk/signal/manager/helper/CallManager.java index ad29c4b3..ac0a2a49 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/CallManager.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/CallManager.java @@ -105,6 +105,8 @@ public class CallManager implements AutoCloseable { recipientAddress, recipientId); activeCalls.put(callId, state); + dependencies.getAuthenticatedSignalWebSocket().registerKeepAliveToken("call" + callId); + dependencies.getUnauthenticatedSignalWebSocket().registerKeepAliveToken("call" + callId); fireCallEvent(state, null); // Spawn call tunnel binary and connect control channel @@ -696,6 +698,8 @@ public class CallManager implements AutoCloseable { private void endCall(final long callId, final String reason) { var state = activeCalls.remove(callId); + dependencies.getAuthenticatedSignalWebSocket().removeKeepAliveToken("call" + callId); + dependencies.getUnauthenticatedSignalWebSocket().removeKeepAliveToken("call" + callId); if (state == null) return; state.state = CallInfo.State.ENDED;