From e8b8a8fe5204c527cfe8cce4f66e348282d9e90f Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 25 Dec 2025 18:52:57 +0200 Subject: [PATCH 1/4] add webhook exist validation in balkTrigger() --- .../Http/Databases/Collections/Documents/Action.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php index 08eea88e19..45a06f506e 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php @@ -382,9 +382,11 @@ abstract class Action extends DatabasesAction ->from($queueForEvents) ->trigger(); - $queueForWebhooks - ->from($queueForEvents) - ->trigger(); + if (!empty($queueForEvents->getProject()->getAttribute('webhooks', []))) { + $queueForWebhooks + ->from($queueForEvents) + ->trigger(); + } } $queueForEvents->reset(); From f9efdfd98e8dc7b8144cc759260f0f25f6d5f1fb Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 25 Dec 2025 19:07:51 +0200 Subject: [PATCH 2/4] fix: use nullsafe operator for project attribute retrieval in Action class --- .../Databases/Http/Databases/Collections/Documents/Action.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php index 45a06f506e..f16d00998d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php @@ -382,7 +382,7 @@ abstract class Action extends DatabasesAction ->from($queueForEvents) ->trigger(); - if (!empty($queueForEvents->getProject()->getAttribute('webhooks', []))) { + if (!empty($queueForEvents->getProject()?->getAttribute('webhooks', []))) { $queueForWebhooks ->from($queueForEvents) ->trigger(); From 7e37046959bbbc1a457d504942fef8c73d80b21e Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Sat, 27 Dec 2025 20:19:27 +0530 Subject: [PATCH 3/4] chore: remove warning logs when skipping ssl certificate generation --- app/controllers/general.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/controllers/general.php b/app/controllers/general.php index 996b1dce98..23de89af27 100644 --- a/app/controllers/general.php +++ b/app/controllers/general.php @@ -1048,18 +1048,15 @@ App::init() if (empty($domain->get()) || !$domain->isKnown() || $domain->isTest()) { $cache[$domain->get()] = false; Config::setParam('hostnames', $cache); - Console::warning($domain->get() . ' is not a publicly accessible domain. Skipping SSL certificate generation.'); return; } if (str_starts_with($request->getURI(), '/.well-known/acme-challenge')) { - Console::warning('Skipping SSL certificates generation on ACME challenge.'); return; } // 3. Check if domain is a main domain if (!in_array($domain->get(), $platformHostnames)) { - Console::warning($domain->get() . ' is not a main domain. Skipping SSL certificate generation.'); return; } From 0599d23cc5a71efb57155b9f4c9d98a67695c418 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Sat, 27 Dec 2025 20:38:44 +0530 Subject: [PATCH 4/4] fix: specs generation getPlatforms method --- src/Appwrite/Platform/Tasks/SDKs.php | 7 ++++++- src/Appwrite/Platform/Tasks/Specs.php | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Appwrite/Platform/Tasks/SDKs.php b/src/Appwrite/Platform/Tasks/SDKs.php index 798f40ebe7..e2ea93fdff 100644 --- a/src/Appwrite/Platform/Tasks/SDKs.php +++ b/src/Appwrite/Platform/Tasks/SDKs.php @@ -36,6 +36,11 @@ class SDKs extends Action return 'sdks'; } + public static function getPlatforms(): array + { + return Specs::getPlatforms(); + } + public function __construct() { $this @@ -55,7 +60,7 @@ class SDKs extends Action public function action(?string $selectedPlatform, ?string $selectedSDK, ?string $version, ?string $git, ?string $production, ?string $message, ?string $release, ?string $commit, ?string $sdks): void { if (!$sdks) { - $selectedPlatform ??= Console::confirm('Choose Platform ("' . implode('", "', Specs::getPlatforms()) . '" or "*" for all):'); + $selectedPlatform ??= Console::confirm('Choose Platform ("' . implode('", "', static::getPlatforms()) . '" or "*" for all):'); $selectedSDK ??= \strtolower(Console::confirm('Choose SDK ("*" for all):')); } else { $sdks = explode(',', $sdks); diff --git a/src/Appwrite/Platform/Tasks/Specs.php b/src/Appwrite/Platform/Tasks/Specs.php index 96f29e08ad..19526060a8 100644 --- a/src/Appwrite/Platform/Tasks/Specs.php +++ b/src/Appwrite/Platform/Tasks/Specs.php @@ -239,7 +239,7 @@ class Specs extends Action App::setResource('dbForPlatform', fn () => new Database(new MySQL(''), new Cache(new None()))); App::setResource('dbForProject', fn () => new Database(new MySQL(''), new Cache(new None()))); - $platforms = self::getPlatforms(); + $platforms = static::getPlatforms(); $authCounts = $this->getAuthCounts(); $keys = $this->getKeys();