diff --git a/lib/Controller/SignalingController.php b/lib/Controller/SignalingController.php index 9902e27deec..c6b26c7cfc8 100644 --- a/lib/Controller/SignalingController.php +++ b/lib/Controller/SignalingController.php @@ -547,6 +547,14 @@ private function backendRoom(array $roomRequest): DataResponse { try { $participant = $room->getParticipantBySession($sessionId); } catch (ParticipantNotFoundException $e) { + if ($action === 'join') { + // If the user joins the session might not be known to the server yet. + // In this case we load by actor information and use the session id as new session. + try { + $participant = $room->getParticipantByActor($actorType, $actorId); + } catch (ParticipantNotFoundException $e) { + } + } } } else { try {