Commit graph

431 commits

Author SHA1 Message Date
ArnabChatterjee20k
5df65d5417 updated 2026-04-21 10:58:34 +05:30
ArnabChatterjee20k
abd6f0add2 updated 2026-04-21 10:52:21 +05:30
ArnabChatterjee20k
25854c84f5 Merge remote-tracking branch 'origin/1.9.x' into realtime-time-metric 2026-04-21 10:44:30 +05:30
ArnabChatterjee20k
b8385fe927 updated 2026-04-20 18:27:48 +05:30
ArnabChatterjee20k
9f65177649 Add unsubscribe functionality to Realtime adapter 2026-04-20 17:37:54 +05:30
ArnabChatterjee20k
4b94d14f1e updated time metric 2026-04-20 12:13:53 +05:30
ArnabChatterjee20k
12f76d74b1 added subscriptions telemetry and worker labelling to connections and subscriptions 2026-04-20 11:52:43 +05:30
ArnabChatterjee20k
2bff4192ee added telemetry for the connected clients 2026-04-20 11:45:05 +05:30
ArnabChatterjee20k
a9fb17b067 added telemetry for message arriaval delay 2026-04-20 11:39:50 +05:30
ArnabChatterjee20k
df0f7ba581 added bucket boundary 2026-04-17 18:02:04 +05:30
ArnabChatterjee20k
b5ec92964c updated telemetry 2026-04-17 14:08:42 +05:30
ArnabChatterjee20k
71b74e21a3 added delay metric 2026-04-17 13:36:48 +05:30
Chirag Aggarwal
584acafb1d
Merge branch '1.9.x' into feat-services-protocols-apis 2026-04-13 10:45:42 +05:30
Chirag Aggarwal
938e65cb02
Merge pull request #11831 from appwrite/codex/remove-realtime-http-dependency
Use dedicated connection resources in realtime
2026-04-10 12:54:45 +05:30
ArnabChatterjee20k
2e6f3f5c14 typo 2026-04-10 11:13:03 +05:30
ArnabChatterjee20k
7b3d9bae03 updated authorization 2026-04-10 11:04:44 +05:30
Chirag Aggarwal
d81a1154e3 refactor: isolate realtime connection resources 2026-04-10 10:19:41 +05:30
Chirag Aggarwal
2ca551123d use connection container 2026-04-10 09:25:00 +05:30
Matej Bačo
0293da1e22 Improve test for backwards compatibility 2026-04-09 15:54:00 +02:00
Matej Bačo
a4a0c4175d Implement new endpoints in /v1/project for services and protocols 2026-04-09 15:45:06 +02:00
ArnabChatterjee20k
912dbda159 updated type 2026-04-09 18:16:09 +05:30
ArnabChatterjee20k
410a050244 updated 2026-04-09 18:04:01 +05:30
ArnabChatterjee20k
9cf45816c2 added triggering stats for messaging based subscription during the start 2026-04-09 17:38:25 +05:30
Chirag Aggarwal
357d6482f9 Remove realtime HTTP app dependency 2026-04-09 10:52:31 +05:30
ArnabChatterjee20k
da2444ede2
Merge branch '1.9.x' into realtime-query-message-payload 2026-04-07 17:36:29 +05:30
ArnabChatterjee20k
bc224de751 Add userId to connection info in Realtime adapter and simplify userId fetching 2026-04-07 17:35:48 +05:30
ArnabChatterjee20k
ca62504b5a Enhance realtime message handling to support initial connection payload and improve query subscription logic 2026-04-07 16:55:10 +05:30
ArnabChatterjee20k
d5fe5c34af Validate subscribe payload format in realtime message handling 2026-04-06 17:14:12 +05:30
ArnabChatterjee20k
6bc9adece8 Refactor realtime message handling to send subscriber keys and add comprehensive tests for subscription message upsert behavior 2026-04-06 17:10:57 +05:30
ArnabChatterjee20k
97d46c6273 Remove redundant subscription removal call in realtime message handling 2026-04-06 16:58:08 +05:30
ArnabChatterjee20k
9d78a8e6b6 Add stats tracking for outbound subscription messages in realtime 2026-04-06 16:57:06 +05:30
ArnabChatterjee20k
d12a6f5168 Refactor realtime message payload handling for improved validation and parsing 2026-04-06 16:41:42 +05:30
ArnabChatterjee20k
0f47e6ea28 Enhance subscription message documentation for clarity on upsertion behavior 2026-04-06 15:59:22 +05:30
ArnabChatterjee20k
187fde4a4e Refactor realtime subscription handling and enhance query validation in tests 2026-04-06 14:05:42 +05:30
ArnabChatterjee20k
bfbf180aee Refactor realtime message handling and enhance query validation tests 2026-04-02 18:32:27 +05:30
ArnabChatterjee20k
df4dbcf607 updated user roles 2026-04-02 17:02:46 +05:30
ArnabChatterjee20k
29b0ebb3bd updated query subscription 2026-04-02 16:28:00 +05:30
ArnabChatterjee20k
f0ccd1f586 added message based query payload to realtime 2026-04-02 15:56:56 +05:30
Chirag Aggarwal
4a905a6ac9 Merge branch '1.9.x' into feat/migrate-di-container
Resolve conflicts keeping DI container migration (container->set pattern)
while incorporating 1.9.x fixes: PHPStan unused variable cleanup in
GraphQL Resolvers, (int) casts in Builds.php, and phpstan-baseline removal.
2026-04-02 11:17:32 +05:30
Chirag Aggarwal
33f8e35b62 chore: remove phpstan baseline 2026-04-01 23:01:11 +05:30
Chirag Aggarwal
908e408480 Merge remote-tracking branch 'origin/1.9.x' into feat/migrate-di-container
# Conflicts:
#	app/init/resources.php
#	composer.json
#	composer.lock
#	phpstan-baseline.neon
2026-04-01 11:46:13 +05:30
Claude
32005c0a49
fix: remove redundant new User(getArrayCopy()) wrapping
Since setDocumentType('users', User::class) is registered on all
database instances, getDocument('users', ...) already returns User
instances. The new User($doc->getArrayCopy()) pattern was redundant
and could lose internal state managed by the database layer.

https://claude.ai/code/session_01JLPDurUgyj7qViA8JqQFTH
2026-03-29 03:04:43 +00:00
Claude
9aa488c961
fix: wrap getDocument('users') results in User instances
The user resource and realtime handlers return Document objects from
getDocument(), but isPrivileged()/isApp() are now instance methods on
the User class. Wrapping results with new User() ensures the correct
type is returned for all code paths.

https://claude.ai/code/session_01JLPDurUgyj7qViA8JqQFTH
2026-03-26 02:47:57 +00:00
Claude
7aff75ae1c
refactor: convert User::isApp() and User::isPrivileged() from static to instance methods
All call sites now use $user->isApp() and $user->isPrivileged() instance
syntax instead of static User::isApp() / $user::isPrivileged() calls.
Added setUser() to Request class for consistency with Response.

https://claude.ai/code/session_01JLPDurUgyj7qViA8JqQFTH
2026-03-26 02:47:56 +00:00
Claude
669f323156
refactor: use $user:: for isPrivileged() to make privilege checks extensible
Replace all static User::isPrivileged() calls with $user::isPrivileged()
across the codebase. Since $user is resolved via setDocumentType, this
allows subclasses to override the privilege check without CE needing to
know about downstream-specific roles.

https://claude.ai/code/session_01JLPDurUgyj7qViA8JqQFTH
2026-03-26 02:46:48 +00:00
Chirag Aggarwal
d932527561 add null collacing 2026-03-23 10:27:10 +05:30
Chirag Aggarwal
6421bc8689 fn name 2026-03-23 10:08:19 +05:30
Chirag Aggarwal
10cc6a8040 fix global pools state 2026-03-20 14:09:43 +05:30
Chirag Aggarwal
9ecdbf5950 func exists 2026-03-20 13:13:07 +05:30
Chirag Aggarwal
6700340ef3 fix realtime 2026-03-19 23:26:49 +05:30