Chirag Aggarwal
c7caf8d23d
fix: map numeric spec enum keys
2026-05-26 11:33:25 +05:30
Chirag Aggarwal
88648b78f0
fix: preserve SDK enum metadata
2026-05-26 10:30:50 +05:30
Chirag Aggarwal
d2230f8fe7
chore: bump PHPStan to level 4 and fix all new errors
...
Raises `phpstan.neon` level from 3 to 4 and fixes the 549 new errors
that level 4 surfaces across 157 files. Fixes are root-cause — no
`@phpstan-ignore`, no `@var` casts, no baseline entries, no widened
types. A handful of latent bugs were fixed along the way:
- `app/controllers/general.php`: path-traversal guard was negating
`\substr(...)` before the strict comparison (`!\substr(...) === $base`
was always `false === $base`). Rewritten as `\substr(...) !== $base`.
- `src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php`
and `.../TablesDB/Logs/XList.php`: were importing the raw Matomo
`DeviceDetector` (whose `getDevice()` returns `?int`) but treating the
result as an array with `deviceName/deviceBrand/deviceModel` keys.
Swapped to `Appwrite\Detector\Detector`, matching the wrapper already
used a few lines below for `$os`/`$client`.
- `src/Appwrite/Platform/Modules/Functions/Workers/Builds.php`: a match
key was checking `$resourceKey === 'functions'` when `$resourceKey`
is `'functionId'|'siteId'` — always false. Switched to the intended
`$resource->getCollection() === 'functions'` check.
- `src/Appwrite/OpenSSL/OpenSSL.php`: `encrypt()` return type tightened
to `string|false` to match `openssl_encrypt`; this lets callers'
`=== false` error handling remain meaningful.
- `app/controllers/api/messaging.php`: removed a dead
`array_key_exists('from', [])` branch in the Msg91 provider (empty
array literal; branch was unreachable).
Large cleanup categories across the 549 fixes:
- Removed redundant `?? default` on array offsets and expressions that
PHPStan now knows are non-nullable.
- Removed unreachable statements (mostly `return;` after `throw` or
`markTestSkipped()`).
- Removed redundant `is_array`/`is_string`/`is_bool`/`instanceof` checks
on already-narrowed types.
- Added `default =>` arms (or throwing arms) to non-exhaustive matches
on `string`/`mixed` input.
- Removed dead `$document === false` branches where method return types
were tightened to non-nullable `Document`.
- Removed unused properties (`$version` on Etsy/Zoom OAuth2, `$paths` on
Installer State, `$source` on MigrationsWorker, `$account2` on two
GraphQL auth tests), unused traits (`ApiVectorsDB`, `DatabaseFixture`),
and an unused `cleanupStaleExecutions` task method.
- Replaced `assertTrue(true)` and redundant `assertIsArray`/`assertIsString`/
`assertNotNull` assertions with `addToAssertionCount(1)` or
`assertNotEmpty` where the runtime type was already known.
2026-04-19 17:31:20 +05:30
Jake Barnby
8666bf1325
Merge branch '1.9.x' into revert-11585-revert-11402-sync-mongodb
2026-03-24 03:03:02 +00:00
Matej Bačo
01142bba2c
Merge branch '1.8.x' into feat-public-project-variables-api
2026-03-23 12:21:06 +01:00
ArnabChatterjee20k
c7907932e4
Revert "Revert "Documentsdb + vectordb (latest)""
2026-03-19 20:30:42 +05:30
ArnabChatterjee20k
9917f95dfd
Revert "Documentsdb + vectordb (latest)"
2026-03-19 19:18:27 +05:30
Matej Bačo
8af0efafd4
Merge branch '1.8.x' into feat-public-project-variables-api
2026-03-19 14:17:26 +01:00
Matej Bačo
ba94bff8d4
Public project variables API
2026-03-18 14:48:31 +01:00
ArnabChatterjee20k
844891c0ae
updated
2026-03-09 14:29:39 +05:30
ArnabChatterjee20k
681d930da3
renamed vectordb to vectordb
2026-03-09 13:51:48 +05:30
Damodar Lohani
244606ff1d
Revert "Fix: add missing sites bandwidth to project usage"
2026-02-25 12:56:05 +05:45
Jake Barnby
aa7dfd0bd1
Merge pull request #11312 from appwrite/feat-mongodb
2026-02-24 09:32:22 +00:00
Damodar Lohani
2898d57243
Fix: Add missing sites bandwidth in the project usage
2026-02-24 06:26:52 +00:00
Jake Barnby
5590f0bcd0
Merge remote-tracking branch 'origin/1.8.x' into feat-mongodb
...
# Conflicts:
# .env
# .github/workflows/tests.yml
# app/controllers/api/projects.php
# app/controllers/api/teams.php
# app/init/registers.php
# app/views/install/compose.phtml
# composer.json
# composer.lock
# docker-compose.yml
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Create.php
# src/Appwrite/Platform/Tasks/Install.php
# src/Appwrite/Platform/Tasks/Upgrade.php
# tests/e2e/Services/Databases/Legacy/DatabasesBase.php
# tests/e2e/Services/Databases/TablesDB/DatabasesBase.php
2026-02-12 23:35:21 +13:00
ArnabChatterjee20k
ae33104ecf
added admin auth to the index creation
2026-02-11 18:19:46 +05:30
Chirag Aggarwal
2d05d608f4
Upgrade utopia-php dependencies and fix namespace changes
...
- Upgrade utopia-php/cli from 0.15 to 0.22
- Upgrade utopia-php/analytics from 0.10 to 0.15
- Upgrade utopia-php/orchestration from 0.9 to 0.19
- Use dev branches for utopia-php/framework and utopia-php/platform
- Remove utopia-php/swoole dependency (merged into framework)
- Migrate Utopia\CLI\Console to Utopia\Console across all files
- Migrate Utopia\Http to Utopia\Http\Http namespace
- Migrate Utopia\Swoole\Files to Utopia\Http\Files (now instance-based)
- Convert static CLI::setResource() calls to instance-based Dependency API
- Fix StatsResources task named parameter mismatch
2026-02-10 10:34:24 +05:30
ArnabChatterjee20k
3b2eb02f8a
Merge branch '1.8.x' into documents-db-api
2026-02-09 17:27:09 +05:30
Jake Barnby
e70739a3c0
Merge remote-tracking branch 'origin/1.8.x' into feat-mongodb
...
# Conflicts:
# Dockerfile
# app/controllers/api/account.php
# app/controllers/api/avatars.php
# app/controllers/api/console.php
# app/controllers/api/projects.php
# app/controllers/api/storage.php
# app/controllers/api/teams.php
# app/http.php
# app/init/database/filters.php
# app/init/registers.php
# app/init/resources.php
# app/views/install/compose.phtml
# composer.json
# composer.lock
# docker-compose.yml
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Update.php
# src/Appwrite/Platform/Modules/Functions/Http/Deployments/XList.php
# src/Appwrite/Platform/Tasks/Install.php
# tests/e2e/Services/Projects/ProjectsConsoleClientTest.php
2026-02-05 01:01:03 +13:00
Chirag Aggarwal
1eaf5d5ffa
replace app usage with http
2026-02-04 11:22:04 +05:30
Jake Barnby
2cfb5ecfd9
Reapply "Merge pull request #11130 from appwrite/feat-auth-instance"
...
This reverts commit 38687bc24e .
2026-01-15 04:08:00 +13:00
Jake Barnby
38687bc24e
Revert "Merge pull request #11130 from appwrite/feat-auth-instance"
...
This reverts commit c12cad80bb , reversing
changes made to 2a17429226 .
# Conflicts:
# composer.lock
2026-01-15 03:48:42 +13:00
Jake Barnby
5c915ef92f
Reapply "Merge pull request #11099 from appwrite/feat-auth-instance"
...
This reverts commit 321fc8ee70 .
2026-01-14 19:07:49 +13:00
Jake Barnby
321fc8ee70
Revert "Merge pull request #11099 from appwrite/feat-auth-instance"
...
This reverts commit a4734a5de7 , reversing
changes made to 15922fb88c .
# Conflicts:
# composer.lock
2026-01-14 02:37:17 +13:00
ArnabChatterjee20k
f580dc9145
Merge remote-tracking branch 'upstream/1.8.x' into documents-db-api
2026-01-13 14:32:46 +05:30
Jake Barnby
7573ee75a2
Use authorization instance
2026-01-07 20:04:28 +13:00
Jake Barnby
dc85d44647
Revert "Refactor auth single instance"
2025-12-20 02:54:50 +13:00
ArnabChatterjee20k
480757dcfe
added usage test for the vectordb
2025-12-09 12:07:26 +05:30
ArnabChatterjee20k
f149ba33d4
updated stats for vectordb
2025-12-08 20:27:30 +05:30
ArnabChatterjee20k
b15f2eed8f
Merge remote-tracking branch 'upstream/documents-db-api' into vector-db-api
2025-12-08 19:32:21 +05:30
ArnabChatterjee20k
8edd3c87cb
added documentsdb total reads and writes in the project response
2025-12-05 19:09:35 +05:30
ArnabChatterjee20k
203170c36d
updated database and collection stats
2025-12-04 15:57:18 +05:30
ArnabChatterjee20k
af095bdf4a
updated stats
2025-12-03 19:11:46 +05:30
ArnabChatterjee20k
7af361fa16
* added logger in the create text embedding
...
* aadded error text metric
2025-12-03 13:38:24 +05:30
ArnabChatterjee20k
ca4c7b5361
added stats usage for text embeddings
2025-12-02 18:13:49 +05:30
shimon
4ad249f918
Revert "Revert "Merge pull request #10682 from appwrite/refactor-auth-single-instance""
...
This reverts commit 8765d5650a .
2025-11-26 12:05:12 +02:00
Jake Barnby
d8d970e03e
Merge remote-tracking branch 'origin/1.8.x' into feat-mongodb
...
# Conflicts:
# app/controllers/api/account.php
# app/controllers/api/messaging.php
# app/controllers/api/projects.php
# app/controllers/api/storage.php
# app/controllers/api/teams.php
# app/controllers/api/users.php
# composer.lock
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Delete.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Bulk/Upsert.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Delete.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Upsert.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Decrement.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Increment.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php
# src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php
# src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php
# src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Create.php
# src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Update.php
2025-11-20 17:46:19 +13:00
Jake Barnby
8765d5650a
Revert "Merge pull request #10682 from appwrite/refactor-auth-single-instance"
...
This reverts commit 919b01a1b1 , reversing
changes made to deb5039352 .
2025-11-19 16:21:06 +13:00
ArnabChatterjee20k
28be12d827
Merge remote-tracking branch 'upstream/1.8.x' into documents-db-api
2025-11-14 19:16:08 +05:30
Jake Barnby
83b9815644
Merge remote-tracking branch 'origin/1.8.x' into refactor-auth-single-instance
2025-11-14 16:45:57 +13:00
Chirag Aggarwal
eb17ffd5d2
wrap all optional values with default null with nullable
2025-11-10 10:15:49 +05:30
shimon
5c2828bc78
Refactor authorization handling across multiple modules to use a single instance of the Authorization class.
2025-10-29 20:21:41 +02:00
shimon
8b3b07a710
linter
2025-10-22 16:40:00 +03:00
shimon
33f88fa5e0
Refactor authorization handling across multiple modules to use the new getAuthorization() method. Update CHANGES.md to reflect the change in usage worker authorization. Adjust composer.json to specify the correct version for utopia-php/database. Update plugin-api-version in composer.lock.
2025-10-22 16:35:48 +03:00
Jake Barnby
f9b0455794
Revert "Fix optionality"
...
This reverts commit 994de06457 .
# Conflicts:
# app/controllers/api/messaging.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Update.php
2025-10-21 13:05:54 +13:00
Jake Barnby
994de06457
Fix optionality
2025-10-21 12:36:13 +13:00
Jake Barnby
143be8239f
Fix inject
2025-10-09 00:41:25 +13:00
Jake Barnby
28392647e0
Pass adapter max ID length to validator
2025-10-07 18:52:05 +13:00
Darshan
1ac22c0ae0
Merge branch '1.8.x' into 'database-aliases'.
2025-06-11 12:36:33 +05:30
Jake Barnby
3158c15111
Merge remote-tracking branch 'origin/1.7.x' into 1.8.x
...
# Conflicts:
# app/controllers/api/functions.php
# app/controllers/api/project.php
# app/controllers/api/proxy.php
# app/controllers/api/storage.php
# app/controllers/api/vcs.php
# app/controllers/general.php
# app/controllers/shared/api.php
# app/init/database/filters.php
# composer.json
# composer.lock
# src/Appwrite/Migration/Migration.php
# src/Appwrite/Migration/Version/V15.php
# src/Appwrite/Migration/Version/V16.php
# src/Appwrite/Migration/Version/V17.php
# src/Appwrite/Migration/Version/V18.php
# src/Appwrite/Migration/Version/V19.php
# src/Appwrite/Migration/Version/V20.php
# src/Appwrite/Migration/Version/V21.php
# src/Appwrite/Platform/Tasks/Migrate.php
# src/Appwrite/Platform/Workers/Builds.php
# src/Appwrite/Platform/Workers/Deletes.php
# src/Appwrite/Platform/Workers/Functions.php
# src/Appwrite/Platform/Workers/StatsResources.php
# src/Appwrite/Platform/Workers/StatsUsage.php
2025-05-27 13:36:23 +12:00