From 9b0a2fdc73407c3d6fec2c7cef240212e1153869 Mon Sep 17 00:00:00 2001 From: "Vincent (Wen Yu) Ge" Date: Tue, 3 Oct 2023 15:10:09 -0400 Subject: [PATCH 01/25] Fix docs links CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1341c9f133..90c6497281 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -84,7 +84,7 @@ $ git push origin [name_of_your_new_branch] To set up a working **development environment**, just fork the project git repository and install the backend and frontend dependencies using the proper package manager and create run the docker-compose stack. -> If you just want to install Appwrite for day-to-day use and not as a contributor, you can reference the [installation guide](https://github.com/appwrite/appwrite#installation), the [getting started guide](https://appwrite.io/docs/getting-started-for-web), or the main [README](README.md) file. +> If you just want to install Appwrite for day-to-day use and not as a contributor, you can reference the [installation guide](https://github.com/appwrite/appwrite#installation), the [getting started guide](https://appwrite.io/docs/quick-starts), or the main [README](README.md) file. ```bash git clone git@github.com:[YOUR_FORK_HERE]/appwrite.git @@ -451,7 +451,7 @@ From time to time, our team will add tutorials that will help contributors find - [Adding Support for a New OAuth2 Provider](./docs/tutorials/add-oauth2-provider.md) - [Appwrite Environment Variables](./docs/tutorials/add-environment-variable.md) -- [Running in Production](https://appwrite.io/docs/production) +- [Running in Production](https://appwrite.io/docs/advanced/self-hosting/production) - [Adding Storage Adapter](./docs/tutorials/add-storage-adapter.md) ## Other Ways to Help From 31466c44d8c8ab4087380b2e26371e980a977707 Mon Sep 17 00:00:00 2001 From: shimon Date: Sun, 8 Oct 2023 16:44:14 +0300 Subject: [PATCH 02/25] update projects database --- app/controllers/api/projects.php | 10 ++++++++++ composer.lock | 12 ++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index c0ce213789..a59803972d 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -100,6 +100,7 @@ App::post('/v1/projects') $databases = Config::getParam('pools-database', []); + /** * Extract db from list while backing */ @@ -167,6 +168,15 @@ App::post('/v1/projects') throw new Exception(Exception::PROJECT_ALREADY_EXISTS); } + /** + * Update database with self-managed db every $mod projects + */ + $mod = 2; + if ($index = array_search('db_fra1_sm1_0', $databases) && $project->getInternalId() % $mod === 0) { + $project->setAttribute('database', $databases[$index]); + $dbForConsole->updateDocument('projects', $project); + } + $dbForProject = new Database($pools->get($database)->pop()->getResource(), $cache); $dbForProject->setNamespace("_{$project->getInternalId()}"); $dbForProject->create(); diff --git a/composer.lock b/composer.lock index 288a17101f..546c1000d0 100644 --- a/composer.lock +++ b/composer.lock @@ -1050,16 +1050,16 @@ }, { "name": "matomo/device-detector", - "version": "6.1.5", + "version": "6.1.6", "source": { "type": "git", "url": "https://github.com/matomo-org/device-detector.git", - "reference": "40ca2990dba2c1719e5c62168e822e0b86c167d4" + "reference": "5cbea85106e561c7138d03603eb6e05128480409" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/matomo-org/device-detector/zipball/40ca2990dba2c1719e5c62168e822e0b86c167d4", - "reference": "40ca2990dba2c1719e5c62168e822e0b86c167d4", + "url": "https://api.github.com/repos/matomo-org/device-detector/zipball/5cbea85106e561c7138d03603eb6e05128480409", + "reference": "5cbea85106e561c7138d03603eb6e05128480409", "shasum": "" }, "require": { @@ -1115,7 +1115,7 @@ "source": "https://github.com/matomo-org/matomo", "wiki": "https://dev.matomo.org/" }, - "time": "2023-08-17T16:17:41+00:00" + "time": "2023-10-02T10:01:54+00:00" }, { "name": "mongodb/mongodb", @@ -6017,5 +6017,5 @@ "platform-overrides": { "php": "8.0" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.2.0" } From aa32b419a8f38637d5f7b8d041da335d32a0f6d3 Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 19 Oct 2023 13:50:32 +0300 Subject: [PATCH 03/25] hard coding utopia logger to 0.3.1 --- composer.json | 2 +- composer.lock | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/composer.json b/composer.json index f73fc02584..365e816b56 100644 --- a/composer.json +++ b/composer.json @@ -55,7 +55,7 @@ "utopia-php/framework": "0.31.0", "utopia-php/image": "0.5.*", "utopia-php/locale": "0.4.*", - "utopia-php/logger": "0.3.*", + "utopia-php/logger": "0.3.1", "utopia-php/messaging": "0.1.*", "utopia-php/migration": "0.3.*", "utopia-php/orchestration": "0.9.*", diff --git a/composer.lock b/composer.lock index e0ab2c6aae..c6a13910ca 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6ff937a260c3e0c09de9eb5e073d830d", + "content-hash": "5f1e302b57b85e03be0b3983dc638486", "packages": [ { "name": "adhocore/jwt", @@ -2283,23 +2283,22 @@ }, { "name": "utopia-php/logger", - "version": "0.3.2", + "version": "0.3.1", "source": { "type": "git", "url": "https://github.com/utopia-php/logger.git", - "reference": "9151b7d16eab18d4c37c34643041cc0f33ca4a6c" + "reference": "de623f1ec1c672c795d113dd25c5bf212f7ef4fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/logger/zipball/9151b7d16eab18d4c37c34643041cc0f33ca4a6c", - "reference": "9151b7d16eab18d4c37c34643041cc0f33ca4a6c", + "url": "https://api.github.com/repos/utopia-php/logger/zipball/de623f1ec1c672c795d113dd25c5bf212f7ef4fc", + "reference": "de623f1ec1c672c795d113dd25c5bf212f7ef4fc", "shasum": "" }, "require": { "php": ">=8.0" }, "require-dev": { - "laravel/pint": "1.2.*", "phpstan/phpstan": "1.9.x-dev", "phpunit/phpunit": "^9.3", "vimeo/psalm": "4.0.1" @@ -2331,9 +2330,9 @@ ], "support": { "issues": "https://github.com/utopia-php/logger/issues", - "source": "https://github.com/utopia-php/logger/tree/0.3.2" + "source": "https://github.com/utopia-php/logger/tree/0.3.1" }, - "time": "2023-10-16T08:16:19+00:00" + "time": "2023-02-10T15:52:50+00:00" }, { "name": "utopia-php/messaging", From c159032e9350170eae4fba1518e9ffc01ae960b7 Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 19 Oct 2023 22:49:53 +0300 Subject: [PATCH 04/25] email template path --- src/Appwrite/Platform/Workers/Mails.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Appwrite/Platform/Workers/Mails.php b/src/Appwrite/Platform/Workers/Mails.php index b0cf28caeb..3570552a62 100644 --- a/src/Appwrite/Platform/Workers/Mails.php +++ b/src/Appwrite/Platform/Workers/Mails.php @@ -95,6 +95,9 @@ class Mails extends Action */ protected function getMailer(array $smtp): PHPMailer { + + var_dump($smtp); + $mail = new PHPMailer(true); $mail->isSMTP(); From 04676d9737c6d89051254f6251d089346e16e0cf Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 19 Oct 2023 22:57:59 +0300 Subject: [PATCH 05/25] debug --- src/Appwrite/Platform/Workers/Mails.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Mails.php b/src/Appwrite/Platform/Workers/Mails.php index 3570552a62..d4dccf4991 100644 --- a/src/Appwrite/Platform/Workers/Mails.php +++ b/src/Appwrite/Platform/Workers/Mails.php @@ -64,7 +64,7 @@ class Mails extends Action } $body = $body->render(); - + var_dump($smtp); /** @var PHPMailer $mail */ $mail = empty($smtp) ? $register->get('smtp') From 7f42fbfe718332eaa4afd107fcd930c828ebd941 Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 19 Oct 2023 23:11:30 +0300 Subject: [PATCH 06/25] debug --- src/Appwrite/Platform/Workers/Mails.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Appwrite/Platform/Workers/Mails.php b/src/Appwrite/Platform/Workers/Mails.php index d4dccf4991..75085e25e1 100644 --- a/src/Appwrite/Platform/Workers/Mails.php +++ b/src/Appwrite/Platform/Workers/Mails.php @@ -64,12 +64,13 @@ class Mails extends Action } $body = $body->render(); - var_dump($smtp); + /** @var PHPMailer $mail */ $mail = empty($smtp) ? $register->get('smtp') : $this->getMailer($smtp); - + var_dump("mail="); + var_dump($mail); $mail->clearAddresses(); $mail->clearAllRecipients(); $mail->clearReplyTos(); @@ -95,7 +96,7 @@ class Mails extends Action */ protected function getMailer(array $smtp): PHPMailer { - + var_dump("smtp="); var_dump($smtp); $mail = new PHPMailer(true); From 1f97aaf591eb975b2b01b8af046834e58ac1b9b6 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Fri, 20 Oct 2023 14:40:59 +0200 Subject: [PATCH 07/25] fix: disable swoole tcp hook for mails worker --- src/Appwrite/Platform/Workers/Mails.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Mails.php b/src/Appwrite/Platform/Workers/Mails.php index b0cf28caeb..f247f0b764 100644 --- a/src/Appwrite/Platform/Workers/Mails.php +++ b/src/Appwrite/Platform/Workers/Mails.php @@ -5,6 +5,7 @@ namespace Appwrite\Platform\Workers; use Appwrite\Template\Template; use Exception; use PHPMailer\PHPMailer\PHPMailer; +use Swoole\Runtime; use Utopia\App; use Utopia\CLI\Console; use Utopia\Platform\Action; @@ -23,11 +24,12 @@ class Mails extends Action */ public function __construct() { + Runtime::setHookFlags(SWOOLE_HOOK_ALL ^ SWOOLE_HOOK_TCP); $this ->desc('Mails worker') ->inject('message') ->inject('register') - ->callback(fn($message, $register) => $this->action($message, $register)); + ->callback(fn ($message, $register) => $this->action($message, $register)); } /** From 4f77510b0a711f70fd6458315ae4abed86bd1c32 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Fri, 20 Oct 2023 14:42:22 +0200 Subject: [PATCH 08/25] fix: only apply hook flags to mails worker --- src/Appwrite/Platform/Workers/Mails.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Appwrite/Platform/Workers/Mails.php b/src/Appwrite/Platform/Workers/Mails.php index f247f0b764..321d3aaa98 100644 --- a/src/Appwrite/Platform/Workers/Mails.php +++ b/src/Appwrite/Platform/Workers/Mails.php @@ -24,7 +24,6 @@ class Mails extends Action */ public function __construct() { - Runtime::setHookFlags(SWOOLE_HOOK_ALL ^ SWOOLE_HOOK_TCP); $this ->desc('Mails worker') ->inject('message') @@ -41,7 +40,7 @@ class Mails extends Action */ public function action(Message $message, Registry $register): void { - + Runtime::setHookFlags(SWOOLE_HOOK_ALL ^ SWOOLE_HOOK_TCP); $payload = $message->getPayload() ?? []; if (empty($payload)) { From d19baafc597ae3e8ede90ee9f7f1b3a7ada40aea Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Fri, 20 Oct 2023 14:43:48 +0200 Subject: [PATCH 09/25] chore: fix linting --- src/Appwrite/Platform/Workers/Mails.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Mails.php b/src/Appwrite/Platform/Workers/Mails.php index 321d3aaa98..7a20212c9c 100644 --- a/src/Appwrite/Platform/Workers/Mails.php +++ b/src/Appwrite/Platform/Workers/Mails.php @@ -28,7 +28,7 @@ class Mails extends Action ->desc('Mails worker') ->inject('message') ->inject('register') - ->callback(fn ($message, $register) => $this->action($message, $register)); + ->callback(fn($message, $register) => $this->action($message, $register)); } /** From 15347cce4b3628e55a133377798edb5e32347d26 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Fri, 20 Oct 2023 16:55:29 +0400 Subject: [PATCH 10/25] chore: update CI --- .github/workflows/publish.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 385016db91..0fc3fc2df3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -16,7 +16,6 @@ jobs: with: fetch-depth: 2 submodules: recursive - ref: cl-1.4.x - name: Login to Docker Hub uses: docker/login-action@v2 From df35c79bc291829468c7e0894461ad22dc3fd0f9 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Fri, 20 Oct 2023 16:56:34 +0400 Subject: [PATCH 11/25] chore: remove var_dumps --- src/Appwrite/Platform/Workers/Mails.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/Appwrite/Platform/Workers/Mails.php b/src/Appwrite/Platform/Workers/Mails.php index fa8899b5a7..6591127592 100644 --- a/src/Appwrite/Platform/Workers/Mails.php +++ b/src/Appwrite/Platform/Workers/Mails.php @@ -70,8 +70,6 @@ class Mails extends Action $mail = empty($smtp) ? $register->get('smtp') : $this->getMailer($smtp); - var_dump("mail="); - var_dump($mail); $mail->clearAddresses(); $mail->clearAllRecipients(); $mail->clearReplyTos(); @@ -97,9 +95,6 @@ class Mails extends Action */ protected function getMailer(array $smtp): PHPMailer { - var_dump("smtp="); - var_dump($smtp); - $mail = new PHPMailer(true); $mail->isSMTP(); From ce14e05d1d4383e2902d77b28ae1c220136cd3e8 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Fri, 20 Oct 2023 16:58:15 +0400 Subject: [PATCH 12/25] chore: sync with 1.4.x --- composer.json | 2 +- composer.lock | 87 +++---------------------- src/Appwrite/Platform/Workers/Mails.php | 4 +- 3 files changed, 13 insertions(+), 80 deletions(-) diff --git a/composer.json b/composer.json index 365e816b56..f73fc02584 100644 --- a/composer.json +++ b/composer.json @@ -55,7 +55,7 @@ "utopia-php/framework": "0.31.0", "utopia-php/image": "0.5.*", "utopia-php/locale": "0.4.*", - "utopia-php/logger": "0.3.1", + "utopia-php/logger": "0.3.*", "utopia-php/messaging": "0.1.*", "utopia-php/migration": "0.3.*", "utopia-php/orchestration": "0.9.*", diff --git a/composer.lock b/composer.lock index c6a13910ca..b691f894b4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5f1e302b57b85e03be0b3983dc638486", + "content-hash": "6ff937a260c3e0c09de9eb5e073d830d", "packages": [ { "name": "adhocore/jwt", @@ -851,72 +851,6 @@ }, "time": "2021-10-08T21:21:46+00:00" }, - { - "name": "laravel/pint", - "version": "v1.2.1", - "source": { - "type": "git", - "url": "https://github.com/laravel/pint.git", - "reference": "e60e2112ee779ce60f253695b273d1646a17d6f1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/e60e2112ee779ce60f253695b273d1646a17d6f1", - "reference": "e60e2112ee779ce60f253695b273d1646a17d6f1", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "ext-tokenizer": "*", - "ext-xml": "*", - "php": "^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.11.0", - "illuminate/view": "^9.32.0", - "laravel-zero/framework": "^9.2.0", - "mockery/mockery": "^1.5.1", - "nunomaduro/larastan": "^2.2.0", - "nunomaduro/termwind": "^1.14.0", - "pestphp/pest": "^1.22.1" - }, - "bin": [ - "builds/pint" - ], - "type": "project", - "autoload": { - "psr-4": { - "App\\": "app/", - "Database\\Seeders\\": "database/seeders/", - "Database\\Factories\\": "database/factories/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "An opinionated code formatter for PHP.", - "homepage": "https://laravel.com", - "keywords": [ - "format", - "formatter", - "lint", - "linter", - "php" - ], - "support": { - "issues": "https://github.com/laravel/pint/issues", - "source": "https://github.com/laravel/pint" - }, - "time": "2022-11-29T16:25:20+00:00" - }, { "name": "league/csv", "version": "9.7.1", @@ -2914,26 +2848,25 @@ }, { "name": "utopia-php/system", - "version": "0.7.1", + "version": "0.7.2", "source": { "type": "git", "url": "https://github.com/utopia-php/system.git", - "reference": "01bf0d283aded0ee0a7a6e5ff540acf64270ab27" + "reference": "4593d4d334b0c15879c4744a826e0362924c5d66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/system/zipball/01bf0d283aded0ee0a7a6e5ff540acf64270ab27", - "reference": "01bf0d283aded0ee0a7a6e5ff540acf64270ab27", + "url": "https://api.github.com/repos/utopia-php/system/zipball/4593d4d334b0c15879c4744a826e0362924c5d66", + "reference": "4593d4d334b0c15879c4744a826e0362924c5d66", "shasum": "" }, "require": { - "laravel/pint": "1.2.*", "php": ">=8.0.0" }, "require-dev": { - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "^3.6", - "vimeo/psalm": "4.0.1" + "laravel/pint": "1.13.*", + "phpstan/phpstan": "1.10.*", + "phpunit/phpunit": "9.6.*" }, "type": "library", "autoload": { @@ -2965,9 +2898,9 @@ ], "support": { "issues": "https://github.com/utopia-php/system/issues", - "source": "https://github.com/utopia-php/system/tree/0.7.1" + "source": "https://github.com/utopia-php/system/tree/0.7.2" }, - "time": "2023-08-30T09:14:37+00:00" + "time": "2023-10-20T01:39:17+00:00" }, { "name": "utopia-php/vcs", diff --git a/src/Appwrite/Platform/Workers/Mails.php b/src/Appwrite/Platform/Workers/Mails.php index 6591127592..b0cf28caeb 100644 --- a/src/Appwrite/Platform/Workers/Mails.php +++ b/src/Appwrite/Platform/Workers/Mails.php @@ -5,7 +5,6 @@ namespace Appwrite\Platform\Workers; use Appwrite\Template\Template; use Exception; use PHPMailer\PHPMailer\PHPMailer; -use Swoole\Runtime; use Utopia\App; use Utopia\CLI\Console; use Utopia\Platform\Action; @@ -40,7 +39,7 @@ class Mails extends Action */ public function action(Message $message, Registry $register): void { - Runtime::setHookFlags(SWOOLE_HOOK_ALL ^ SWOOLE_HOOK_TCP); + $payload = $message->getPayload() ?? []; if (empty($payload)) { @@ -70,6 +69,7 @@ class Mails extends Action $mail = empty($smtp) ? $register->get('smtp') : $this->getMailer($smtp); + $mail->clearAddresses(); $mail->clearAllRecipients(); $mail->clearReplyTos(); From b9e5d0c890886e5528ee898e413adddb4b8c1e96 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Fri, 20 Oct 2023 16:59:07 +0400 Subject: [PATCH 13/25] feat: add swoole hooks --- src/Appwrite/Platform/Workers/Mails.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Mails.php b/src/Appwrite/Platform/Workers/Mails.php index b0cf28caeb..7a20212c9c 100644 --- a/src/Appwrite/Platform/Workers/Mails.php +++ b/src/Appwrite/Platform/Workers/Mails.php @@ -5,6 +5,7 @@ namespace Appwrite\Platform\Workers; use Appwrite\Template\Template; use Exception; use PHPMailer\PHPMailer\PHPMailer; +use Swoole\Runtime; use Utopia\App; use Utopia\CLI\Console; use Utopia\Platform\Action; @@ -39,7 +40,7 @@ class Mails extends Action */ public function action(Message $message, Registry $register): void { - + Runtime::setHookFlags(SWOOLE_HOOK_ALL ^ SWOOLE_HOOK_TCP); $payload = $message->getPayload() ?? []; if (empty($payload)) { From f533ab9324706de3d16f5c0d925b23516f4abd1b Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Fri, 20 Oct 2023 17:00:45 +0400 Subject: [PATCH 14/25] feat: add swoole hooks --- composer.lock | 85 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 76 insertions(+), 9 deletions(-) diff --git a/composer.lock b/composer.lock index b691f894b4..288558bff6 100644 --- a/composer.lock +++ b/composer.lock @@ -851,6 +851,72 @@ }, "time": "2021-10-08T21:21:46+00:00" }, + { + "name": "laravel/pint", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "e60e2112ee779ce60f253695b273d1646a17d6f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/e60e2112ee779ce60f253695b273d1646a17d6f1", + "reference": "e60e2112ee779ce60f253695b273d1646a17d6f1", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.11.0", + "illuminate/view": "^9.32.0", + "laravel-zero/framework": "^9.2.0", + "mockery/mockery": "^1.5.1", + "nunomaduro/larastan": "^2.2.0", + "nunomaduro/termwind": "^1.14.0", + "pestphp/pest": "^1.22.1" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2022-11-29T16:25:20+00:00" + }, { "name": "league/csv", "version": "9.7.1", @@ -2848,25 +2914,26 @@ }, { "name": "utopia-php/system", - "version": "0.7.2", + "version": "0.7.1", "source": { "type": "git", "url": "https://github.com/utopia-php/system.git", - "reference": "4593d4d334b0c15879c4744a826e0362924c5d66" + "reference": "01bf0d283aded0ee0a7a6e5ff540acf64270ab27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/system/zipball/4593d4d334b0c15879c4744a826e0362924c5d66", - "reference": "4593d4d334b0c15879c4744a826e0362924c5d66", + "url": "https://api.github.com/repos/utopia-php/system/zipball/01bf0d283aded0ee0a7a6e5ff540acf64270ab27", + "reference": "01bf0d283aded0ee0a7a6e5ff540acf64270ab27", "shasum": "" }, "require": { + "laravel/pint": "1.2.*", "php": ">=8.0.0" }, "require-dev": { - "laravel/pint": "1.13.*", - "phpstan/phpstan": "1.10.*", - "phpunit/phpunit": "9.6.*" + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "^3.6", + "vimeo/psalm": "4.0.1" }, "type": "library", "autoload": { @@ -2898,9 +2965,9 @@ ], "support": { "issues": "https://github.com/utopia-php/system/issues", - "source": "https://github.com/utopia-php/system/tree/0.7.2" + "source": "https://github.com/utopia-php/system/tree/0.7.1" }, - "time": "2023-10-20T01:39:17+00:00" + "time": "2023-08-30T09:14:37+00:00" }, { "name": "utopia-php/vcs", From 00d2a5ffcd4491dcb9cb32acd6761b5c660f6125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=B7=E5=8D=8E=20=E5=88=98?= Date: Sun, 22 Oct 2023 18:33:15 +0000 Subject: [PATCH 15/25] chore: update create projects endpoints --- app/controllers/api/projects.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 10669af3d8..eb657c116d 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -92,12 +92,12 @@ App::post('/v1/projects') $projectId = ($projectId == 'unique()') ? ID::unique() : $projectId; - $backups['database_db_fra1_v14x_02'] = ['from' => '03:00', 'to' => '04:00']; - $backups['database_db_fra1_v14x_03'] = ['from' => '00:00', 'to' => '01:00']; - $backups['database_db_fra1_v14x_04'] = ['from' => '00:00', 'to' => '01:00']; - $backups['database_db_fra1_v14x_05'] = ['from' => '00:00', 'to' => '01:00']; - $backups['database_db_fra1_v14x_06'] = ['from' => '00:00', 'to' => '01:00']; - $backups['database_db_fra1_v14x_07'] = ['from' => '00:00', 'to' => '01:00']; + $backups['database_db_fra1_v14x_02'] = ['from' => '03:00', 'to' => '05:00']; + $backups['database_db_fra1_v14x_03'] = ['from' => '00:00', 'to' => '02:00']; + $backups['database_db_fra1_v14x_04'] = ['from' => '00:00', 'to' => '02:00']; + $backups['database_db_fra1_v14x_05'] = ['from' => '00:00', 'to' => '02:00']; + $backups['database_db_fra1_v14x_06'] = ['from' => '00:00', 'to' => '02:00']; + $backups['database_db_fra1_v14x_07'] = ['from' => '00:00', 'to' => '02:00']; $databases = Config::getParam('pools-database', []); @@ -174,8 +174,8 @@ App::post('/v1/projects') /** * Update database with self-managed db every $mod projects */ - $mod = 2; - if ($index = array_search('db_fra1_sm1_0', $databases) && $project->getInternalId() % $mod === 0) { + $mod = 20; + if ($index = array_search('database_db_fra1_self_hosted_0_0', $databases) && $project->getInternalId() % $mod === 0) { $project->setAttribute('database', $databases[$index]); $dbForConsole->updateDocument('projects', $project); } From 0d5127d90b2b3da9909a6f980bd4980ad0185905 Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 23 Oct 2023 00:08:55 +0300 Subject: [PATCH 16/25] fix mod condition --- app/controllers/api/projects.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index eb657c116d..6f2f4f40e3 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -175,7 +175,8 @@ App::post('/v1/projects') * Update database with self-managed db every $mod projects */ $mod = 20; - if ($index = array_search('database_db_fra1_self_hosted_0_0', $databases) && $project->getInternalId() % $mod === 0) { + $index = array_search('database_db_fra1_self_hosted_0_0', $databases); + if ($index !== false && ($project->getInternalId() % $mod === 0)) { $project->setAttribute('database', $databases[$index]); $dbForConsole->updateDocument('projects', $project); } From ac231914d4048688100f028003ba9626dd3c10ec Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 23 Oct 2023 00:55:57 +0300 Subject: [PATCH 17/25] fix mod condition --- app/controllers/api/projects.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 6f2f4f40e3..a4a96b49a5 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -100,7 +100,10 @@ App::post('/v1/projects') $backups['database_db_fra1_v14x_07'] = ['from' => '00:00', 'to' => '02:00']; $databases = Config::getParam('pools-database', []); - + $index = array_search('database_db_fra1_self_hosted_0_0', $databases); + if ($index !== false) { + unset($databases[$index]); + } /** * Remove databases from the list that are currently undergoing an backup @@ -124,7 +127,7 @@ App::post('/v1/projects') $databaseOverride = App::getEnv('_APP_DATABASE_OVERRIDE', null); $index = array_search($databaseOverride, $databases); - if ($index) { + if ($index !== false) { $database = $databases[$index]; } else { $database = $databases[array_rand($databases)]; @@ -175,9 +178,9 @@ App::post('/v1/projects') * Update database with self-managed db every $mod projects */ $mod = 20; - $index = array_search('database_db_fra1_self_hosted_0_0', $databases); - if ($index !== false && ($project->getInternalId() % $mod === 0)) { - $project->setAttribute('database', $databases[$index]); + if ($project->getInternalId() % $mod === 0) { + $database = 'database_db_fra1_self_hosted_0_0'; + $project->setAttribute('database', $database); $dbForConsole->updateDocument('projects', $project); } From a841734d50ee0681ec217eb2a511116de5009a64 Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 23 Oct 2023 01:05:10 +0300 Subject: [PATCH 18/25] fix mod condition --- app/controllers/api/projects.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index a4a96b49a5..43fbd43b74 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -100,7 +100,8 @@ App::post('/v1/projects') $backups['database_db_fra1_v14x_07'] = ['from' => '00:00', 'to' => '02:00']; $databases = Config::getParam('pools-database', []); - $index = array_search('database_db_fra1_self_hosted_0_0', $databases); + $databaseSelfHosted = 'database_db_fra1_self_hosted_0_0'; + $index = array_search($databaseSelfHosted, $databases); if ($index !== false) { unset($databases[$index]); } @@ -178,9 +179,9 @@ App::post('/v1/projects') * Update database with self-managed db every $mod projects */ $mod = 20; - if ($project->getInternalId() % $mod === 0) { - $database = 'database_db_fra1_self_hosted_0_0'; - $project->setAttribute('database', $database); + $index = in_array($databaseSelfHosted, $databases); + if ($project->getInternalId() % $mod === 0 && $index !== false) { + $project->setAttribute('database', $databaseSelfHosted); $dbForConsole->updateDocument('projects', $project); } From b09a254d3c3424af9b2ef5cc92c6f5b8e7e2845b Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 23 Oct 2023 10:46:15 +0300 Subject: [PATCH 19/25] fix mod condition --- app/controllers/api/projects.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 43fbd43b74..b1ab7d5743 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -101,9 +101,9 @@ App::post('/v1/projects') $databases = Config::getParam('pools-database', []); $databaseSelfHosted = 'database_db_fra1_self_hosted_0_0'; - $index = array_search($databaseSelfHosted, $databases); - if ($index !== false) { - unset($databases[$index]); + $SelfHostedIndex = array_search($databaseSelfHosted, $databases); + if ($SelfHostedIndex !== false) { + unset($databases[$SelfHostedIndex]); } /** @@ -179,8 +179,7 @@ App::post('/v1/projects') * Update database with self-managed db every $mod projects */ $mod = 20; - $index = in_array($databaseSelfHosted, $databases); - if ($project->getInternalId() % $mod === 0 && $index !== false) { + if ($project->getInternalId() % $mod === 0 && $SelfHostedIndex !== false) { $project->setAttribute('database', $databaseSelfHosted); $dbForConsole->updateDocument('projects', $project); } From 2ef8490691117254154c71a365ac58cf84df422d Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 23 Oct 2023 11:22:28 +0300 Subject: [PATCH 20/25] fix mod condition --- app/controllers/api/projects.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index b1ab7d5743..dd152683a1 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -101,9 +101,9 @@ App::post('/v1/projects') $databases = Config::getParam('pools-database', []); $databaseSelfHosted = 'database_db_fra1_self_hosted_0_0'; - $SelfHostedIndex = array_search($databaseSelfHosted, $databases); - if ($SelfHostedIndex !== false) { - unset($databases[$SelfHostedIndex]); + $selfHostedIndex = array_search($databaseSelfHosted, $databases); + if ($selfHostedIndex !== false) { + unset($databases[$selfHostedIndex]); } /** @@ -179,7 +179,7 @@ App::post('/v1/projects') * Update database with self-managed db every $mod projects */ $mod = 20; - if ($project->getInternalId() % $mod === 0 && $SelfHostedIndex !== false) { + if ($project->getInternalId() % $mod === 0 && $selfHostedIndex !== false) { $project->setAttribute('database', $databaseSelfHosted); $dbForConsole->updateDocument('projects', $project); } From 808f682fa721c09540f2976f256e7729f187ff2e Mon Sep 17 00:00:00 2001 From: Shimon Newman Date: Mon, 23 Oct 2023 11:25:31 +0300 Subject: [PATCH 21/25] Update app/controllers/api/projects.php Co-authored-by: Christy Jacob --- app/controllers/api/projects.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index dd152683a1..4ae6d7b6cb 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -180,6 +180,7 @@ App::post('/v1/projects') */ $mod = 20; if ($project->getInternalId() % $mod === 0 && $selfHostedIndex !== false) { + $database = $databaseSelfHosted; $project->setAttribute('database', $databaseSelfHosted); $dbForConsole->updateDocument('projects', $project); } From 3dee8d6ecd3dbaea289f2a55bb404769ce0ce380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=B7=E5=8D=8E=20=E5=88=98?= Date: Mon, 23 Oct 2023 08:34:57 +0000 Subject: [PATCH 22/25] fix: update incorrect method call --- app/controllers/api/projects.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 4ae6d7b6cb..fe7759a6df 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -180,9 +180,9 @@ App::post('/v1/projects') */ $mod = 20; if ($project->getInternalId() % $mod === 0 && $selfHostedIndex !== false) { - $database = $databaseSelfHosted; - $project->setAttribute('database', $databaseSelfHosted); - $dbForConsole->updateDocument('projects', $project); + $database = $databaseSelfHosted; + $project->setAttribute('database', $database); + $dbForConsole->updateDocument('projects', $project->getId(), $project); } $dbForProject = new Database($pools->get($database)->pop()->getResource(), $cache); From 0411f9f5305117d1a1ea464e71b91c9d59d0743d Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 23 Oct 2023 16:33:26 +0300 Subject: [PATCH 23/25] fix function-worker body param typo --- src/Appwrite/Platform/Workers/Functions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Functions.php b/src/Appwrite/Platform/Workers/Functions.php index 6b7b5efe03..7a6cfe115f 100644 --- a/src/Appwrite/Platform/Workers/Functions.php +++ b/src/Appwrite/Platform/Workers/Functions.php @@ -77,7 +77,7 @@ class Functions extends Action $type = $payload['type'] ?? ''; $events = $payload['events'] ?? []; - $data = $payload['data'] ?? ''; + $data = $payload['body'] ?? ''; $eventData = $payload['payload'] ?? ''; $project = new Document($payload['project'] ?? []); $function = new Document($payload['function'] ?? []); From 3addf76a2a1b5a7986fe744e155a2fe4bdca3bc5 Mon Sep 17 00:00:00 2001 From: Steven Nguyen <1477010+stnguyen90@users.noreply.github.com> Date: Mon, 23 Oct 2023 18:53:40 +0000 Subject: [PATCH 24/25] Bump appwrite version to 1.4.7 --- README-CN.md | 6 +++--- README.md | 6 +++--- app/init.php | 2 +- src/Appwrite/Migration/Migration.php | 1 + 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/README-CN.md b/README-CN.md index 1328ef5cf4..1df799f7ef 100644 --- a/README-CN.md +++ b/README-CN.md @@ -66,7 +66,7 @@ docker run -it --rm \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \ --entrypoint="install" \ - appwrite/appwrite:1.4.6 + appwrite/appwrite:1.4.7 ``` ### Windows @@ -78,7 +78,7 @@ docker run -it --rm ^ --volume //var/run/docker.sock:/var/run/docker.sock ^ --volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^ --entrypoint="install" ^ - appwrite/appwrite:1.4.6 + appwrite/appwrite:1.4.7 ``` #### PowerShell @@ -88,7 +88,7 @@ docker run -it --rm ` --volume /var/run/docker.sock:/var/run/docker.sock ` --volume ${pwd}/appwrite:/usr/src/code/appwrite:rw ` --entrypoint="install" ` - appwrite/appwrite:1.4.6 + appwrite/appwrite:1.4.7 ``` 运行后,可以在浏览器上访问 http://localhost 找到 Appwrite 控制台。在非 Linux 的本机主机上完成安装后,服务器可能需要几分钟才能启动。 diff --git a/README.md b/README.md index 40a4248d59..b4980d0e61 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ docker run -it --rm \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \ --entrypoint="install" \ - appwrite/appwrite:1.4.6 + appwrite/appwrite:1.4.7 ``` ### Windows @@ -88,7 +88,7 @@ docker run -it --rm ^ --volume //var/run/docker.sock:/var/run/docker.sock ^ --volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^ --entrypoint="install" ^ - appwrite/appwrite:1.4.6 + appwrite/appwrite:1.4.7 ``` #### PowerShell @@ -98,7 +98,7 @@ docker run -it --rm ` --volume /var/run/docker.sock:/var/run/docker.sock ` --volume ${pwd}/appwrite:/usr/src/code/appwrite:rw ` --entrypoint="install" ` - appwrite/appwrite:1.4.6 + appwrite/appwrite:1.4.7 ``` Once the Docker installation is complete, go to http://localhost to access the Appwrite console from your browser. Please note that on non-Linux native hosts, the server might take a few minutes to start after completing the installation. diff --git a/app/init.php b/app/init.php index 16eceb1eaf..86e4790a30 100644 --- a/app/init.php +++ b/app/init.php @@ -110,7 +110,7 @@ const APP_KEY_ACCCESS = 24 * 60 * 60; // 24 hours const APP_USER_ACCCESS = 24 * 60 * 60; // 24 hours const APP_CACHE_UPDATE = 24 * 60 * 60; // 24 hours const APP_CACHE_BUSTER = 514; -const APP_VERSION_STABLE = '1.4.6'; +const APP_VERSION_STABLE = '1.4.7'; const APP_DATABASE_ATTRIBUTE_EMAIL = 'email'; const APP_DATABASE_ATTRIBUTE_ENUM = 'enum'; const APP_DATABASE_ATTRIBUTE_IP = 'ip'; diff --git a/src/Appwrite/Migration/Migration.php b/src/Appwrite/Migration/Migration.php index 15098793a9..964aef66e5 100644 --- a/src/Appwrite/Migration/Migration.php +++ b/src/Appwrite/Migration/Migration.php @@ -71,6 +71,7 @@ abstract class Migration '1.4.4' => 'V19', '1.4.5' => 'V19', '1.4.6' => 'V19', + '1.4.7' => 'V19', ]; /** From 84ea81f56d34a4fb2fc046120cfb342173ee0ec6 Mon Sep 17 00:00:00 2001 From: Steven Nguyen <1477010+stnguyen90@users.noreply.github.com> Date: Mon, 23 Oct 2023 18:54:33 +0000 Subject: [PATCH 25/25] Add 1.4.7 to CHANGES.md --- CHANGES.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 33b41d35fa..ac405184df 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,8 @@ +# Version 1.4.7 + +## Fixes +- Fix missing body in async function execution in [#6988](https://github.com/appwrite/appwrite/pull/6988) + # Version 1.4.6 ## Changes