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
Chirag Aggarwal
82ec75d582
chore: address PR review feedback
2026-04-10 13:12:08 +05:30
Chirag Aggarwal
6bf6142667
refactor: migrate selected queues to publishers
2026-04-10 13:02:00 +05:30
Prem Palanisamy
5d1009b324
fix: correct resourceType routing, schemaless validation, and E2E tests for migrations
...
- Add getDatabaseResourceType() helper to map database types to resource constants
- Use database-specific resourceType for CSV/JSON import/export instead of hardcoded TYPE_DATABASE
- Skip attribute validation for schemaless databases (DocumentsDB/VectorsDB) in exports
- Parse JSON export queries in migration worker
- Restore MigrationsBase from 1.9.x and append VectorsDB/DocumentsDB E2E tests
2026-03-31 12:35:18 +01:00
Prem Palanisamy
a80ecd0cb6
fix: alphabetize imports, update phpstan baseline count for migrations tests
2026-03-30 17:24:58 +01:00
Prem Palanisamy
2611bf4af1
fix: add setPlatform to JSON import trigger for consistency
2026-03-30 15:43:21 +01:00
Prem Palanisamy
de219de31d
fix: restore original databasetype block in CSV export
2026-03-30 15:26:09 +01:00
Prem Palanisamy
d8bbd82556
fix: remove duplicate database fetch, add null-safe queries fallback, add schemaless comment
2026-03-30 14:55:05 +01:00
Prem Palanisamy
aaebeec61e
fix: remove spatial from documentsdb indexes, parse JSON export queries, skip schema validation for schemaless exports
2026-03-30 09:09:50 +01:00
Prem Palanisamy
52ae8b3880
fix: use type-specific resources for JSON endpoints, add JSON source/destination to worker
2026-03-26 09:23:45 +00:00
Prem Palanisamy
8f09e74462
fix: bump migration to 1.9.*, fix dataExportType property
2026-03-26 07:41:23 +00:00
Prem Palanisamy
30907d716f
cleanup: remove duplicate setProject, remove stale spec files
2026-03-26 06:55:28 +00:00
Darshan
5b1ee93927
fix: endpoint.
2026-03-26 06:43:04 +00: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
ArnabChatterjee20k
9989820e17
Fix database type handling and update dependencies in composer files
2026-03-10 18:43:17 +05:30
ArnabChatterjee20k
f6655343c7
pr comments addressed
...
* Added new exception `MIGRATION_DATABASE_TYPE_UNSUPPORTED` with proper error metadata and HTTP 400 response.
* Replaced generic CSV database type errors with the new migration-specific exception for clearer error handling.
* Added support for `DOCUMENTSDB` in migration transfer resource service mapping.
* Fixed Appwrite report initialization by correctly injecting `getDatabasesDB`.
* Updated database adapter initialization to conditionally disable attribute support for `DOCUMENTSDB`.
* Moved `setSupportForAttributes` logic from pool initialization to database resource creation.
* Removed duplicate `getDatabasesDB` resource definition and redundant database event listener setup.
* Cleaned up unused variables and minor code inconsistencies.
* Fixed docblock formatting in `TransactionState`.
* Adjusted metrics handling in VectorDB embeddings text creation (removed unnecessary trigger/reset flow).
2026-03-10 14:30:57 +05:30
ArnabChatterjee20k
d6bc9f120e
Merge remote-tracking branch 'origin/1.8.x' into sync-mongodb
2026-03-09 15:50:48 +05:30
eldadfux
9d2036024a
Refactor migration error handling to provide clearer connection error messages. Updated exception messages for migration sources to guide users on potential credential and network issues.
2026-03-05 08:24:32 +01:00
ArnabChatterjee20k
2d0140f705
Merge remote-tracking branch 'origin/1.8.x' into documents-db-api
2026-02-18 16:01:55 +05:30
Jake Barnby
51af714ea8
Merge branch '1.8.x' into feat-mongodb
2026-02-17 08:38:34 +00:00
Chirag Aggarwal
cc0d63bf03
chore: bump storage lib to remove deprecation warnings
2026-02-17 10:55:37 +05:30
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
801befeacd
Merge branch '1.8.x' into get-cursor-queries
2026-02-06 05:59:48 +00:00
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
fogelito
69e6c0afc0
getCursorQueries
2026-01-28 14:53:24 +02:00
ArnabChatterjee20k
d8dd1918c4
synced vectordb
2026-01-20 15:45:12 +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
Jake Barnby
13f4aa9a80
Merge remote-tracking branch 'origin/1.8.x' into refactor-auth-single-instance
...
# Conflicts:
# app/controllers/api/account.php
# app/controllers/api/vcs.php
# app/controllers/general.php
# app/controllers/shared/api.php
# app/init/resources.php
# composer.lock
# src/Appwrite/Platform/Modules/Console/Http/Resources/Get.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php
# src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php
# src/Appwrite/Platform/Workers/Migrations.php
2025-12-18 18:17:41 +13:00
Darshan
6d9a6051bf
add: platform support on migrations.
2025-12-17 17:41:14 +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
af095bdf4a
updated stats
2025-12-03 19:11:46 +05:30
shimon
5da1f791a5
sync with 1.8.x
2025-11-27 18:17:04 +02:00
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
ArnabChatterjee20k
c3ad337398
updated migrations for vectordb importing/exporting in csv endpoints
2025-11-20 18:54:41 +05:30
ArnabChatterjee20k
a9e749a81f
updated migration service extractor for csv import/export
2025-11-20 14:06:42 +05:30
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
6274d5a3e4
Merge branch '1.8.x' into refactor-auth-single-instance
2025-11-14 05:21:40 +00:00