Commit graph

9692 commits

Author SHA1 Message Date
ArnabChatterjee20k
57d777f80a revert format 2026-04-22 16:46:18 +05:30
ArnabChatterjee20k
c60e85ca84 Merge remote-tracking branch 'origin/1.9.x' into realtime-logs 2026-04-22 16:44:34 +05:30
Chirag Aggarwal
00512df4ca Clean up spec enum validation reporting 2026-04-22 15:45:16 +05:30
ArnabChatterjee20k
e0fec8f550 updated 2026-04-22 15:42:17 +05:30
Chirag Aggarwal
038be90969 Preserve nested items enum validation 2026-04-22 15:33:18 +05:30
Chirag Aggarwal
481eaf7530 Merge remote-tracking branch 'origin/1.9.x' into t3code/spec-overlap-verification 2026-04-22 15:24:34 +05:30
Chirag Aggarwal
4f74394e8f Fix spec enum name validation 2026-04-22 15:21:41 +05:30
Chirag Aggarwal
affd5876ab Add spec enum service overlap validation 2026-04-22 14:49:35 +05:30
Matej Bačo
bfa1960d8a Remove unneeded const 2026-04-22 10:00:10 +02:00
Matej Bačo
0d27c59cb8 Merge branch '1.9.x' into feat-public-project-policies 2026-04-22 09:57:48 +02:00
Matej Bačo
efc37c68ec Merge branch '1.9.x' into feat-project-smtp-endpoints 2026-04-22 09:50:08 +02:00
Chirag Aggarwal
5b6dd5f75a
Merge pull request #11949 from appwrite/chore/phpstan-level-4 2026-04-22 11:17:21 +05:30
Jake Barnby
8a841a6971
fix: cast cached total to int in listDocuments/listRows
Redis stringifies scalars on save, so on a cache hit the `total` field
was served as a string. Flutter SDK (and any strictly-typed client) then
failed with `TypeError: "37": type 'String' is not a subtype of type 'int'`.
The cache-miss path returned an int from `count()`, which is why only
repeat requests with `ttl > 0` tripped the bug.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 16:14:30 +12:00
Chirag Aggarwal
c973ca0a5d Address PHPStan level 4 review feedback 2026-04-22 09:34:03 +05:30
Matej Bačo
d9d5a81337 Fix 0->null backwrds compatibility 2026-04-21 17:51:31 +02:00
Matej Bačo
c8a1746119 Fix existing tests 2026-04-21 17:34:44 +02:00
Matej Bačo
1b993ede0f
Merge branch '1.9.x' into feat-project-smtp-endpoints 2026-04-21 16:15:00 +02:00
Matej Bačo
648ffcdcfa Fix event labels 2026-04-21 16:07:52 +02:00
Matej Bačo
0be94a7aff Fix tests 2026-04-21 15:57:30 +02:00
Matej Bačo
eba145ee2d More integration tests 2026-04-21 15:13:27 +02:00
Matej Bačo
99d230c70d Integration tests 2026-04-21 14:39:02 +02:00
Chirag Aggarwal
4ac1b68bbc Fix OpenAPI enum keys analysis 2026-04-21 18:03:18 +05:30
Matej Bačo
5f9dc0fcd8 Req & res filters, review fixes 2026-04-21 13:58:36 +02:00
Chirag Aggarwal
da4dcd8505
Merge branch '1.9.x' into chore/phpstan-level-4 2026-04-21 17:08:46 +05:30
Matej Bačo
d0f853d4cd Add more project policies 2026-04-21 13:38:27 +02:00
Matej Bačo
4317ee5617 Move some of auth settings to project policies 2026-04-21 13:11:42 +02:00
Damodar Lohani
1dc9217c65
Merge branch '1.9.x' into CLO-4204-slow-query-hook 2026-04-21 14:31:45 +05:45
Damodar Lohani
50bd2877f4 chore: shorten afterQuery docblock 2026-04-21 08:46:21 +00:00
Damodar Lohani
f465e2267a chore: tighten afterQuery docblock 2026-04-21 08:43:20 +00:00
Damodar Lohani
b4f1652286 refactor: simplify afterQuery DB timing to single wall-clock bracket
Replaces the per-call $measure closure with a single $dbStart
timestamp taken right before the fetch block and a single subtraction
right after it. Drops 6 lines of HOF indirection plus the $measure
variable, at the cost of including cache GET/SET time (~0.5–5ms) in
measurements when ttl > 0. For slow-query logging at a 100ms+
threshold that noise is negligible, and the default ttl=0 path has
no cache ops at all so the measurement is pure DB engine time.

The bracket captures the cursor lookup, find/count, and transaction
state calls — everything between "query parsed" and "fetch done",
as intended. processDocument's post-fetch relationship work is still
outside the bracket, matching the original design.
2026-04-21 08:41:11 +00:00
Damodar Lohani
4e4860e7f8 refactor: move afterQuery hook into base listDocuments action
Moves the DB-duration measurement and afterQuery() hook from the
tablesDB-specific Rows/XList into the shared
Databases/Collections/Documents/XList base. Because TablesDB Rows and
DocumentsDB Documents both extend the legacy listDocuments base, a
single override now covers all three endpoints: legacy
listDocuments, listDocumentsDBDocuments, and tablesDB listRows.

TablesDB Rows drops the ~200-line action() duplicate and keeps only
the path/params/SDK overrides it needs, plus the extra
->inject('utopia') so its injection chain matches the new base action
signature. DocumentsDB Documents gets the same one-line inject
addition. Net -165 lines of duplication removed.

Behaviour is unchanged for CE (afterQuery() is a no-op); downstream
distributions overriding afterQuery() now observe every list-documents
/ list-rows call site for free.
2026-04-21 08:28:12 +00:00
Harsh Mahajan
c6672e93cf
Merge branch '1.9.x' into feat-add-telemetry-for-ss-success-rates 2026-04-21 13:07:40 +05:30
Damodar Lohani
7c84337c5f Merge remote-tracking branch 'origin/1.9.x' into CLO-4204-slow-query-hook 2026-04-21 04:32:28 +00:00
Matej Bačo
4808cad081 Fix most of Project tests 2026-04-20 23:01:53 +02:00
Matej Bačo
c3e411fcaa Fix tests 2026-04-20 22:47:47 +02:00
Matej Bačo
8c31e9f206 Server error fixes 2026-04-20 22:36:47 +02:00
Matej Bačo
a4ad1b6df3 Code quality improvs 2026-04-20 22:35:35 +02:00
Matej Bačo
8bf2f54a51 Leftovers 2026-04-20 22:04:46 +02:00
Matej Bačo
8c03db70e9 Finalize templates design 2026-04-20 22:04:20 +02:00
Matej Bačo
8ea69e0321 Fix password visibility test 2026-04-20 16:57:23 +02:00
Matej Bačo
dfec2b3cb7 Improve test coverage 2026-04-20 16:11:22 +02:00
ArnabChatterjee20k
69d778ab05
Merge pull request #11946 from appwrite/migration-via-api
added project region
2026-04-20 19:40:23 +05:30
Matej Bačo
848f09956e Improve backwards compatibility test coverage 2026-04-20 15:36:49 +02:00
Matej Bačo
51f50b161c Improved backwards compatibility 2026-04-20 15:28:05 +02:00
Matej Bačo
52e3319a86 Linter fix 2026-04-20 14:50:12 +02:00
ArnabChatterjee20k
b2233193d5 updated 2026-04-20 18:19:12 +05:30
Matej Bačo
ba4430801d Merge branch 'feat-project-templates-api' into feat-project-smtp-endpoints 2026-04-20 14:49:04 +02:00
Matej Bačo
2f62cced0a Merge branch '1.9.x' into feat-project-smtp-endpoints 2026-04-20 14:46:42 +02:00
ArnabChatterjee20k
e9ea39a822 Enhance Realtime adapter: support union of channels/roles on subscription and add unsubscribeSubscription method 2026-04-20 17:37:45 +05:30
Matej Bačo
2097b0a0b0 Better support for post-smtp changes 2026-04-20 14:04:53 +02:00