Fix HPB missing event when a session is terminated only

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2021-03-08 11:55:32 +01:00
Родитель 2183ffc24a
Коммит 12a48be140
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7076EA9751AACDDA
1 изменённых файлов: 19 добавлений и 0 удалений

Просмотреть файл

@ -191,10 +191,29 @@ class Listener {
$sessionIds[] = $session->getSessionId();
}
if ($event->getParticipant()->getSession()) {
$sessionIds[] = $event->getParticipant()->getSession()->getSessionId();
$notifier->roomSessionsRemoved($event->getRoom(), $sessionIds);
}
if (!empty($sessionIds)) {
$notifier->roomSessionsRemoved($event->getRoom(), $sessionIds);
}
});
$dispatcher->addListener(Room::EVENT_AFTER_ROOM_DISCONNECT, static function (ParticipantEvent $event) {
if (self::isUsingInternalSignaling()) {
return;
}
/** @var BackendNotifier $notifier */
$notifier = \OC::$server->query(BackendNotifier::class);
$sessionIds = [];
if ($event->getParticipant()->getSession()) {
$sessionIds[] = $event->getParticipant()->getSession()->getSessionId();
$notifier->roomSessionsRemoved($event->getRoom(), $sessionIds);
}
});
$listener = static function (ModifyParticipantEvent $event) {
if (self::isUsingInternalSignaling()) {