Commit graph

215 commits

Author SHA1 Message Date
ArnabChatterjee20k
31adbe6189 fix: update presence permissions from read to write in tests and implementation 2026-05-08 11:02:25 +05:30
ArnabChatterjee20k
869c35416d Refactor presence API to standardize scope and attribute names. Updated 'presence' to 'presences' across roles, scopes, and HTTP methods for consistency. Renamed 'expiry' to 'expiresAt' in various locations to improve clarity and maintainability. 2026-04-30 13:30:15 +05:30
ArnabChatterjee20k
41b2962e64 updated usage name 2026-04-28 18:03:26 +05:30
ArnabChatterjee20k
8d378720b0 add presence API metrics and usage tracking 2026-04-28 17:19:24 +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
Chirag Aggarwal
e8ef4e40d7 fix post-merge e2e test regressions 2026-04-07 15:05:07 +05:30
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
8d58383c2e Merge remote-tracking branch 'origin/1.8.x' into sync-mongodb 2026-03-18 11:38:37 +05:30
loks0n
3dc9a10fab fix: use console headers for execution status polling in usage tests
Switch function execution status polling in testPrepareFunctionsStats to
use console headers so the non-deterministic number of poll requests does
not skew the project request count assertion or cause null-status failures.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 17:41:25 +00:00
loks0n
af401eb950 fix: use console headers for attribute status polling in usage tests
Switch attribute/column status polling in testPrepareDatabaseStatsCollectionsAPI
and testPrepareDatabaseStatsTablesAPI to use console headers so the non-deterministic
number of poll requests does not skew the project request count assertion.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 17:27:41 +00:00
Jake Barnby
4efababbb4
Merge pull request #11486 from appwrite/vectorsdb 2026-03-10 15:15:21 +13:00
Jake Barnby
5a258b9da1
Merge branch '1.8.x' into sync-mongodb 2026-03-10 15:11:54 +13:00
ArnabChatterjee20k
681d930da3 renamed vectordb to vectordb 2026-03-09 13:51:48 +05:30
Matej Bačo
248b3c8b32
Revert "Revert "Features with schema changes"" 2026-03-04 14:31:27 +01:00
Matej Bačo
f8b31e7db7
Revert "Features with schema changes" 2026-03-04 14:31:05 +01:00
Matej Bačo
1f5fd919c9 Merge branch '1.8.x' into feat-1.8.x-new-schema 2026-03-04 14:13:01 +01:00
ArnabChatterjee20k
42f914f6aa fixed merge conflicts 2026-02-25 16:49:31 +05:30
ArnabChatterjee20k
905763e755 added tests 2026-02-25 16:08:40 +05:30
Jake Barnby
bada1a7c05 Timing updates 2026-02-24 14:00:07 +13:00
ArnabChatterjee20k
3b2eb02f8a Merge branch '1.8.x' into documents-db-api 2026-02-09 17:27:09 +05:30
Jake Barnby
d4694ff8af Merge remote-tracking branch 'origin/1.8.x' into feat-db-tests
# Conflicts:
#	composer.json
#	composer.lock
#	tests/e2e/Services/Databases/TablesDB/DatabasesBase.php
#	tests/e2e/Services/Projects/ProjectsConsoleClientTest.php
#	tests/e2e/Services/Realtime/RealtimeCustomClientTest.php
2026-02-04 19:49:09 +13:00
Matej Bačo
4807dcf529 Array support for all functions domain usecases 2026-01-30 16:48:40 +01:00
Jake Barnby
714b8d7ea6 Migrate to PHPUnit 11 2026-01-15 16:14:53 +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
9ac3cd73a8 Refactor database metrics handling for DocumentsDB
- Introduced new methods to retrieve metrics for write and read operations based on database type.
- Updated bulk delete, update, upsert, and create actions to use the new metric methods.
- Enhanced document retrieval and update actions to utilize the new metric structure.
- Added support for DocumentsDB metrics in usage statistics and response models.
- Created new response models for DocumentsDB usage and updated existing models to accommodate new metrics.
- Adjusted migration and stats resources to include DocumentsDB metrics.
- Updated tests to validate the new metrics and ensure correct functionality for DocumentsDB usage.
2025-12-05 18:58:13 +05:30
ArnabChatterjee20k
203170c36d updated database and collection stats 2025-12-04 15:57:18 +05:30
ArnabChatterjee20k
6f5bfdb726 updated stats 2025-12-03 20:18:53 +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
Matej Bačo
5817aea2ee Remove todo 2025-11-24 14:30:45 +01:00
Matej Bačo
62173b8f61 WIP: Separate specifications 2025-11-20 13:56:54 +01:00
ArnabChatterjee20k
28be12d827 Merge remote-tracking branch 'upstream/1.8.x' into documents-db-api 2025-11-14 19:16:08 +05:30
ArnabChatterjee20k
d51486c62a * fixed stats usage events(hacky fix)
* updated redundant routes(happened during merge conflicts)
2025-10-10 19:39:59 +05:30
ArnabChatterjee20k
66b0f3c9df * added waiting time in usage test so that aggregator can work
* added documentsdb usage test
2025-10-09 18:24:04 +05:30
Atharva Deosthale
1a19e01d69 attempt to fix tests 2025-09-19 18:30:42 +05:30
Jake Barnby
9b453e79ac
Merge remote-tracking branch 'origin/1.7.x' into 1.8.x
# Conflicts:
#	src/Appwrite/Platform/Modules/Console/Http/Resources/Get.php
2025-08-27 16:30:11 +12:00
Matej Bačo
01ea91dd97 fix tests 2025-08-26 12:26:38 +02:00
Jake Barnby
ca03be5e41
Test fixes 2025-08-18 21:16:01 +12:00
Darshan
7a5a3706b6 fix: tests. 2025-07-27 18:13:30 +05:30
Jake Barnby
9ceeb76ad0
Merge branch '1.7.x' into 1.8.x
# Conflicts:
#	app/controllers/api/databases.php
#	composer.lock
#	src/Appwrite/GraphQL/Types/Mapper.php
2025-07-18 17:24:12 +12:00
Matej Bačo
5ace34790d Migrate many tests to JS 2025-07-09 16:58:55 +02:00
Darshan
1ac22c0ae0 Merge branch '1.8.x' into 'database-aliases'. 2025-06-11 12:36:33 +05:30
loks0n
c19d123d48 tests: make usagetests robust
commit-id:35fcc17d
2025-06-02 19:05:23 +01:00
Matej Bačo
c449144926 Fix flaky usage tests 2025-06-02 17:56:13 +02:00
Darshan
a8dc5c3797 add: table tests to usage. 2025-05-09 11:10:53 +05:30
Darshan
9e1105b61f update: tests. 2025-05-06 11:29:56 +05:30
Darshan
67a8f522e5 fix: project and general usage tests. 2025-05-05 14:45:55 +05:30