diff --git a/app/active_conferences/resources/classes/active_conferences_service.php b/app/active_conferences/resources/classes/active_conferences_service.php index d8fc7aecee..a08121ce40 100644 --- a/app/active_conferences/resources/classes/active_conferences_service.php +++ b/app/active_conferences/resources/classes/active_conferences_service.php @@ -178,9 +178,9 @@ class active_conferences_service extends base_websocket_system_service implement * * @param subscriber $subscriber * - * @return filter + * @return filter|null */ - public static function create_filter_chain_for(subscriber $subscriber): filter { + public static function create_filter_chain_for(subscriber $subscriber): ?filter { // Domain filtering for conferences if ($subscriber->has_permission('conference_active_view')) { return filter_chain::and_link([ diff --git a/core/websockets/resources/classes/base_websocket_system_service.php b/core/websockets/resources/classes/base_websocket_system_service.php index 9f2741ce62..6010ee7c81 100644 --- a/core/websockets/resources/classes/base_websocket_system_service.php +++ b/core/websockets/resources/classes/base_websocket_system_service.php @@ -167,6 +167,11 @@ abstract class base_websocket_system_service extends service implements websocke if (!$suppress_ws_message) $this->error("Unable to connect to websocket server."); $suppress_ws_message = true; } + if (!$this->ws_client->is_connected()) { + // Sleep for a bit before trying to reconnect to prevent flooding the logs with connection errors + sleep(1); + continue; + } } if ($this->ws_client !== null && $this->ws_client->is_connected()) {