From 5bccaeb39457bade032d97c4eda485a446ae5f10 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 14 Jul 2021 10:52:26 +0200 Subject: [PATCH 1/2] fix(response): setStatusCode phpdoc block --- src/Appwrite/Utopia/Response.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Utopia/Response.php b/src/Appwrite/Utopia/Response.php index a6ec6891c..527c52908 100644 --- a/src/Appwrite/Utopia/Response.php +++ b/src/Appwrite/Utopia/Response.php @@ -45,7 +45,7 @@ use Appwrite\Utopia\Response\Model\Mock; // Keep last use stdClass; /** - * @method Response public function setStatusCode(int $code = 200) + * @method Response setStatusCode(int $code = 200) */ class Response extends SwooleResponse { From cbc282a24c17136173620d223a6c1ee7bf06d873 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Tue, 17 Aug 2021 13:18:32 +0200 Subject: [PATCH 2/2] feat(realtime): channel for tests --- app/realtime.php | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/app/realtime.php b/app/realtime.php index de3985199..7ed13f04c 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -83,10 +83,10 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats, $start = time(); $redisPool = $register->get('redisPool'); - /** - * Sending current connections to project channels on the console project every 5 seconds. - */ Timer::tick(5000, function () use ($server, $stats, $realtime) { + /** + * 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) { @@ -94,14 +94,36 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats, } $event = [ - 'event' => 'stats.connections', - 'channels' => ['project'], + 'project' => 'console', 'roles' => ['role:member'], - 'timestamp' => time(), - 'payload' => $payload + 'data' => [ + 'event' => 'stats.connections', + 'channels' => ['project'], + 'timestamp' => time(), + 'payload' => $payload + ] ]; - $server->send($realtime->getSubscribers($event), json_encode($event)); + $server->send($realtime->getSubscribers($event), json_encode($event['data'])); + } + /** + * Sending test message for SDK E2E tests every 5 seconds. + */ + if ($realtime->hasSubscriber('console', 'role:guest', 'tests')) { + $payload = ['response' => 'WS:/v1/realtime:passed']; + + $event = [ + 'project' => 'console', + 'roles' => ['role:guest'], + 'data' => [ + 'event' => 'test.event', + 'channels' => ['tests'], + 'timestamp' => time(), + 'payload' => $payload + ] + ]; + + $server->send($realtime->getSubscribers($event), json_encode($event['data'])); } });