From da92c5e2be88769561cd96504bc7256fcf7cb5d1 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Thu, 19 Aug 2021 11:41:08 +0200 Subject: [PATCH] fix(realtime): proper permission handling for realtime stats --- app/realtime.php | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/app/realtime.php b/app/realtime.php index 7ed13f04cd..9fb9f189f4 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -88,23 +88,23 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats, * Sending current connections to project channels on the console project every 5 seconds. */ if ($realtime->hasSubscriber('console', 'role:member', 'project')) { - $payload = []; foreach ($stats as $projectId => $value) { - $payload[$projectId] = $value['connectionsTotal']; + $payload = [ + 'projectId' => $value['connectionsTotal'] + ]; + $event = [ + 'project' => 'console', + 'roles' => ['team:'.$projectId], + 'data' => [ + 'event' => 'stats.connections', + 'channels' => ['project'], + 'timestamp' => time(), + 'payload' => $payload + ] + ]; + + $server->send($realtime->getSubscribers($event), json_encode($event['data'])); } - - $event = [ - 'project' => 'console', - 'roles' => ['role:member'], - 'data' => [ - 'event' => 'stats.connections', - 'channels' => ['project'], - 'timestamp' => time(), - 'payload' => $payload - ] - ]; - - $server->send($realtime->getSubscribers($event), json_encode($event['data'])); } /** * Sending test message for SDK E2E tests every 5 seconds.