Commit graph

368 commits

Author SHA1 Message Date
ArnabChatterjee20k
b677586925
Merge branch '1.8.x' into realtime-stats 2026-03-10 13:12:04 +05:30
ArnabChatterjee20k
eccc39a466 refactor: remove realtime metrics from project usage endpoints and related tests 2026-03-10 12:15:25 +05:30
eldadfux
ab0fa70bca Enhance project context validation in realtime message handling. Ensure that projectId is checked for emptiness before processing messages, and enforce project context requirement for non-ping messages. 2026-03-09 19:31:44 +01:00
Chirag Aggarwal
8b026d3459 perf: optimize updateDocument() calls to use sparse documents
Optimize updateDocument() calls across the codebase to pass only changed
attributes as sparse Document objects rather than full documents. This is
more efficient because updateDocument() internally performs array_merge().

Changes:
- Updated 58 files to use sparse Document objects
- Added Performance Patterns section to AGENTS.md with optimization guidelines
- Applied pattern to Workers, Functions, Sites, Teams, VCS modules
- Updated app/controllers/api files (account, users, messaging)
- Updated app infrastructure files (realtime, general, init/resources, shared/api)

Exceptions maintained:
- Migration files (need full document updates by design)
- Cases with 6+ attributes (marginal benefit)
- Complex nested relationship logic
2026-03-06 17:05:19 +05:30
ArnabChatterjee20k
0ea196d21c updated inbound raw size to the request size 2026-03-06 15:37:30 +05:30
ArnabChatterjee20k
b5c2cc9716 Add triggerStats function for realtime usage metrics tracking 2026-03-05 18:10:09 +05:30
ArnabChatterjee20k
9fdd7c1c6e added try catch connection close metric 2026-03-05 11:30:15 +05:30
ArnabChatterjee20k
82db411517 updated 2026-03-03 19:36:49 +05:30
ArnabChatterjee20k
7644e0fe48 Add realtime metrics for connections, messages, and bandwidth in project usage 2026-03-03 18:48:37 +05:30
Jake Barnby
3c4c78d086
Merge branch '1.8.x' into fix-realtime-regions 2026-02-27 06:07:06 +00:00
Prem Palanisamy
81e828a200 use named arguments and elvis operator for realtime error logging 2026-02-26 15:45:46 +00:00
Prem Palanisamy
218d25ba1b improve realtime error logging with project, user, and auth context 2026-02-26 15:45:46 +00:00
copilot-swe-agent[bot]
952f48c72a fix: use AppwriteException, fix console region, add region check test
Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com>
2026-02-26 11:55:15 +00:00
copilot-swe-agent[bot]
4500349fda fix: use 'default' fallback for _APP_REGION in realtime.php
Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com>
2026-02-26 11:00:09 +00:00
Jake Barnby
347436d370 Add region check 2026-02-26 23:37:26 +13:00
eldadfux
9c597623ff fix: handle null authorization in realtime connections
Added a check to initialize the authorization object with an empty string if it is null when processing messages in the realtime server. This ensures that the database authorization is always set, preventing potential errors during message handling.
2026-02-19 19:50:48 +01:00
Chirag Aggarwal
45f4b1e8ad Merge branch '1.8.x' into fix/cli-static-setresource 2026-02-11 16:04:14 +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
4b3c4323ee Enhance reserved parameter handling in Realtime adapter and update related tests 2026-02-09 13:07:11 +05:30
ArnabChatterjee20k
81f4d10ad6 Enhance Realtime channel handling for project queries and improve test coverage 2026-02-09 11:48:04 +05:30
Jake Barnby
e21614088f fix: Address CodeRabbit review comments
- Fix OR precheck bug: skip attribute existence check when OR conditions
  exist, since OR can match with partial attributes present
- Remove dead code in app/realtime.php (unused $names and $channels variables)
- Add tests for OR queries with missing attributes in one branch

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:24:26 +13:00
Jake Barnby
e490f375ee Batch groups 2026-02-05 20:48:40 +13:00
Jake Barnby
d06759e33e Cleanup 2026-02-05 18:47:54 +13:00
Chirag Aggarwal
1eaf5d5ffa replace app usage with http 2026-02-04 11:22:04 +05:30
ArnabChatterjee20k
a10fbc64c7 updated subscription after permission change 2026-02-03 13:46:05 +05:30
ArnabChatterjee20k
d18d4d8263 updated subscription process 2026-02-03 11:43:23 +05:30
ArnabChatterjee20k
10e971aded updated tests and empty subscriptionsid issue 2026-02-03 10:46:01 +05:30
ArnabChatterjee20k
3c2f0cc982 updated to new slot based filtering for realtime 2026-02-02 21:50:23 +05:30
ArnabChatterjee20k
6e576b5140 added realtime query new channel and channel wise filters 2026-02-02 19:45:21 +05:30
ArnabChatterjee20k
077068e9fc updated tests 2026-01-29 14:20:05 +05:30
ArnabChatterjee20k
64392c1520 fixed failing tests 2026-01-29 11:38:20 +05:30
ArnabChatterjee20k
b785dea7ac added query per subscription and queryKeys along with the messages 2026-01-28 18:40:30 +05:30
ArnabChatterjee20k
b9c7c172ad updated query conversion for nested query 2026-01-16 18:18:24 +05:30
ArnabChatterjee20k
b2486fcb6c Merge remote-tracking branch 'upstream/1.8.x' into dat-969 2026-01-16 15:47:25 +05:30
Jake Barnby
b1171c661e Add setDatabase() to all project database instances
This completes the fix for utopia-php/database 4.5.2 which removed
the automatic USE database statement. All Database instances that
create or query project databases now have explicit setDatabase()
calls.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 19:08:25 +13:00
Jake Barnby
728ed57df0 Fix database initialization after utopia-php/database 4.5.2 update
The 4.5.2 update removed the automatic USE database statement on init,
requiring explicit setDatabase() calls on all database resources.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 18:43:28 +13:00
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
Jake Barnby
7573ee75a2 Use authorization instance 2026-01-07 20:04:28 +13:00
ArnabChatterjee20k
3b4196735a refactor: simplify query handling in Realtime adapter and enhance error messaging for unsupported queries 2025-12-24 21:02:03 +05:30
ArnabChatterjee20k
874e5f61f0 Merge remote-tracking branch 'upstream/1.8.x' into dat-969 2025-12-24 19:01:13 +05:30
ArnabChatterjee20k
39cf207df9 re 2025-12-24 18:57:58 +05:30
ArnabChatterjee20k
b7e2606b9f Enhance Realtime functionality with query support and improve tests
- Updated Realtime adapter to handle queries during subscription.
- Added query filtering capabilities in RuntimeQuery class.
- Modified RealtimeBase and RealtimeCustomClientTest to support query parameters in WebSocket connections.
- Improved test coverage for account and database channels with queries.
2025-12-22 18:01:00 +05:30
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
loks0n
f765eb92e7 feat: cors service 2025-12-11 09:01:31 +00:00
shimon
0a0cf26269 Merge branch '1.8.x' of github.com:appwrite/appwrite into refactor-auth-single-instance
# Conflicts:
#	src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php
2025-12-08 09:26:38 +02:00
ArnabChatterjee20k
da1285bb22 updated time limit key, cached resource 2025-12-05 09:25:34 +05:30