From c510af0a90072b1d7873b547b2fc98361af5b8b4 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Fri, 13 Jun 2025 20:21:03 +0530 Subject: [PATCH 1/2] Update appwrite-assistant image version to 0.8.3 --- app/views/install/compose.phtml | 2 +- docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/install/compose.phtml b/app/views/install/compose.phtml index 2d8f2b35ab..e3699662a4 100644 --- a/app/views/install/compose.phtml +++ b/app/views/install/compose.phtml @@ -841,7 +841,7 @@ $image = $this->getParam('image', ''); - _APP_DB_PASS appwrite-assistant: - image: appwrite/assistant:0.4.0 + image: appwrite/assistant:0.8.3 container_name: appwrite-assistant <<: *x-logging restart: unless-stopped diff --git a/docker-compose.yml b/docker-compose.yml index c042d36cd5..0b653af8c2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -934,7 +934,7 @@ services: appwrite-assistant: container_name: appwrite-assistant - image: appwrite/assistant:0.7.0 + image: appwrite/assistant:0.8.3 networks: - appwrite environment: From 160c937dc2614078030982c233ac5b8251c9ad3f Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Fri, 13 Jun 2025 09:01:38 -0700 Subject: [PATCH 2/2] fix: prevent 'Attribute "factors" must be an array' error Because array_unique() preserves keys, the $factors can go from: [ 0 => 'password', 1 => 'totp', 2 => 'totp', 3 => 'email' ] to: [ 0 => 'password', 1 => 'totp', 3 => 'email' ] and because this is not an array list, the validation fails. Using array_values() after array_unique() will reset the keys to be sequential, resulting in: [ 0 => 'password', 1 => 'totp', 2 => 'email' ] --- app/controllers/api/account.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index ac01476314..a7ff7c099d 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -3880,7 +3880,7 @@ App::patch('/v1/account/mfa') if ($user->getAttribute('phone', false) && $user->getAttribute('phoneVerification', false)) { $factors[] = Type::PHONE; } - $factors = \array_unique($factors); + $factors = \array_values(\array_unique($factors)); $session->setAttribute('factors', $factors); $dbForProject->updateDocument('sessions', $session->getId(), $session); @@ -4065,7 +4065,7 @@ App::put('/v1/account/mfa/authenticators/:type') $factors = $session->getAttribute('factors', []); $factors[] = $type; - $factors = \array_unique($factors); + $factors = \array_values(\array_unique($factors)); $session->setAttribute('factors', $factors); $dbForProject->updateDocument('sessions', $session->getId(), $session); @@ -4549,7 +4549,7 @@ App::put('/v1/account/mfa/challenge') $factors = $session->getAttribute('factors', []); $factors[] = $type; - $factors = \array_unique($factors); + $factors = \array_values(\array_unique($factors)); $session ->setAttribute('factors', $factors)