From 08313ece9c94ab51f274f21ee60cd52813ca4c9c Mon Sep 17 00:00:00 2001 From: Daniil Gentili Date: Fri, 28 Dec 2018 17:21:04 +0100 Subject: [PATCH] close_and_reopen bugfix --- src/danog/MadelineProto/API.php | 4 ++-- src/danog/MadelineProto/APIFactory.php | 4 ++-- src/danog/MadelineProto/EventHandler.php | 4 ++-- src/danog/MadelineProto/MTProtoTools/PeerHandler.php | 2 ++ tests/testing.php | 2 ++ 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/danog/MadelineProto/API.php b/src/danog/MadelineProto/API.php index 928a220f..c70ab655 100644 --- a/src/danog/MadelineProto/API.php +++ b/src/danog/MadelineProto/API.php @@ -158,8 +158,8 @@ class API extends APIFactory if (Magic::is_fork() && !Magic::$processed_fork) { \danog\MadelineProto\Logger::log('Detected fork'); $this->API->reset_session(); - foreach ($this->API->datacenter->sockets as $datacenter) { - $datacenter->close_and_reopen(); + foreach ($this->API->datacenter->sockets as $id => $datacenter) { + $this->API->close_and_reopen($id); } Magic::$processed_fork = true; } diff --git a/src/danog/MadelineProto/APIFactory.php b/src/danog/MadelineProto/APIFactory.php index 179b6b3f..48293f0b 100644 --- a/src/danog/MadelineProto/APIFactory.php +++ b/src/danog/MadelineProto/APIFactory.php @@ -133,8 +133,8 @@ class APIFactory if (Magic::is_fork() && !Magic::$processed_fork) { \danog\MadelineProto\Logger::log('Detected fork'); $this->API->reset_session(); - foreach ($this->API->datacenter->sockets as $datacenter) { - $datacenter->close_and_reopen(); + foreach ($this->API->datacenter->sockets as $id => $datacenter) { + $this->API->close_and_reopen($id); } Magic::$processed_fork = true; } diff --git a/src/danog/MadelineProto/EventHandler.php b/src/danog/MadelineProto/EventHandler.php index 30fe8f87..de6c849f 100644 --- a/src/danog/MadelineProto/EventHandler.php +++ b/src/danog/MadelineProto/EventHandler.php @@ -49,8 +49,8 @@ class EventHandler extends APIFactory if (Magic::is_fork() && !Magic::$processed_fork) { \danog\MadelineProto\Logger::log('Detected fork'); $this->API->reset_session(); - foreach ($this->API->datacenter->sockets as $datacenter) { - $datacenter->close_and_reopen(); + foreach ($this->API->datacenter->sockets as $id => $datacenter) { + $this->API->close_and_reopen($id); } Magic::$processed_fork = true; } diff --git a/src/danog/MadelineProto/MTProtoTools/PeerHandler.php b/src/danog/MadelineProto/MTProtoTools/PeerHandler.php index 44a0ca4e..e6bf7d74 100644 --- a/src/danog/MadelineProto/MTProtoTools/PeerHandler.php +++ b/src/danog/MadelineProto/MTProtoTools/PeerHandler.php @@ -772,6 +772,8 @@ trait PeerHandler $offset += count($gres['participants']); } while (count($gres['participants'])); + if ($offset === $limit) return true; + return $has_more; } diff --git a/tests/testing.php b/tests/testing.php index 19e985aa..d400bd21 100755 --- a/tests/testing.php +++ b/tests/testing.php @@ -67,6 +67,8 @@ if ($MadelineProto->get_self() === false) { } } +var_dump(count($MadelineProto->get_pwr_chat('@madelineproto')['participants'])); + /* * Test logging */