From 5138ebec7bcdd703440d1037bfcddd77a07f74d6 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Thu, 22 Jan 2026 00:32:09 +1300 Subject: [PATCH] Use GQLPromise::then() in all() to match SyncPromiseAdapter Call through GQLPromise::then() instead of directly on adopted promise. This matches how SyncPromiseAdapter handles promise chaining. Co-Authored-By: Claude Opus 4.5 --- src/Appwrite/GraphQL/Promises/Adapter/Swoole.php | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/Appwrite/GraphQL/Promises/Adapter/Swoole.php b/src/Appwrite/GraphQL/Promises/Adapter/Swoole.php index b2a53f1959..1a1d536e9a 100644 --- a/src/Appwrite/GraphQL/Promises/Adapter/Swoole.php +++ b/src/Appwrite/GraphQL/Promises/Adapter/Swoole.php @@ -95,21 +95,15 @@ class Swoole extends Adapter foreach ($promisesOrValues as $index => $promiseOrValue) { if ($promiseOrValue instanceof GQLPromise) { $result[$index] = null; - /** @var SwoolePromise $adopted */ - $adopted = $promiseOrValue->adoptedPromise; - $adopted->then( - static function ($value) use (&$result, $index, &$count, $checkComplete) { + // Use GQLPromise::then() which goes through adapter->then() + // This matches SyncPromiseAdapter's behavior + $promiseOrValue->then( + static function ($value) use (&$result, $index, &$count, $checkComplete): void { $result[$index] = $value; ++$count; $checkComplete(); - return $value; }, - static function ($error) use (&$rejected, $combinedPromise) { - if (!$rejected) { - $rejected = true; - $combinedPromise->reject($error); - } - } + [$combinedPromise, 'reject'] ); } else { $result[$index] = $promiseOrValue;