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
Chirag Aggarwal
e0269e268f
fix: re-read project from DB before updating accessedAt to prevent stale writes
...
Stale in-memory project documents in ScheduleBase (and request-scoped
copies in api.php/general.php) were overwriting current DB state when
updateProjectAccess triggered. Because Database::updateDocument uses
array_merge with the passed document taking priority, cached projects
missing recent OAuth provider changes would silently disable them.
Now fetches a fresh project document from the DB before writing, so only
accessedAt is updated without clobbering other fields.
2026-03-05 15:44:21 +05:30
ArnabChatterjee20k
e84a26be76
Merge remote-tracking branch 'origin/1.8.x' into sync-mongodb
2026-03-05 12:11:44 +05:30
loks0n
20f248a6ae
refactor: consolidate SiteRequestCompleted into RequestCompleted with optional deployment
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 19:36:48 +00:00
loks0n
2081c4c42c
refactor: replace bandwidth queueForStatsUsage with Bus events
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 19:36:48 +00:00
ArnabChatterjee20k
abf497d509
Merge remote-tracking branch 'origin/1.8.x' into sync-mongodb
2026-02-27 17:19:31 +05:30
eldadfux
79d219bf50
fix cache duplication
2026-02-26 07:50:51 +01:00
eldadfux
9b2143a2a5
Fixed cache duplication
2026-02-26 07:44:35 +01:00
Jake Barnby
0019f01492
Merge branch '1.8.x' into feat-mongodb
2026-02-23 21:21:26 +13:00
ArnabChatterjee20k
cc9df4f5c5
Merge remote-tracking branch 'origin/1.8.x' into documents-db-api
2026-02-23 13:09:49 +05:30
Hemachandar
15b5202c16
Check project access only when user is present ( #11370 )
2026-02-20 17:37:12 +05:30
ArnabChatterjee20k
51d769b0a1
Merge remote-tracking branch 'origin/1.8.x' into documents-db-api
2026-02-20 13:58:56 +05:30
Jake Barnby
8a6ddeef30
Merge branch '1.8.x' into feat-mongodb
2026-02-20 01:33:02 +13:00
Hemachandar
14e79f34db
Populate project-specific roles ( #11209 )
...
* Populate project-specific roles
* better comments
* simplify
* privileged user
* update permissions
* feedback
* lint
* only read + cleanup
* fix role length
* scopes
* not api-key
* cl-ignore group
* rename
* ciIgnore
* base scope
* change base scope
* fix projects
* copilot suggestion
2026-02-19 16:48:39 +05:30
ArnabChatterjee20k
2d0140f705
Merge remote-tracking branch 'origin/1.8.x' into documents-db-api
2026-02-18 16:01:55 +05:30
Jake Barnby
459a5617d6
Merge remote-tracking branch 'origin/1.8.x' into feat-mongodb
2026-02-17 16:32:46 +13:00
Matej Bačo
9572201863
AI review fixes
2026-02-16 18:08:52 +01:00
Matej Bačo
343bed9b9d
PR review fixes
2026-02-16 17:59:44 +01:00
Matej Bačo
180ac93871
Fix accoutn keys permissions
2026-02-16 17:48:26 +01:00
Matej Bačo
46ed91fe48
Fix migratons with api keys
2026-02-16 17:39:12 +01:00
Matej Bačo
4b08484920
Fix tests
2026-02-16 16:24:33 +01:00
Matej Bačo
c7bbf6a987
fix org keys auth
2026-02-16 16:14:43 +01:00
Chirag Aggarwal
79a0b33b92
Set project on queueForMails so span logs include project context
...
The Mails worker span logs were missing project.id, project.sequence,
project.region, and project.database because setProject was never
called on queueForMails. This adds setProject in the shared API
controller and in workers (Webhooks, Migrations) that trigger mails.
Also injects project into the Mails worker action.
2026-02-16 18:46:55 +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
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
Matej Bačo
8e98c08a23
Fix failing tests
2026-01-21 16:05:43 +01:00
Matej Bačo
e5ed7c835a
Merge branch '1.8.x' into chore-php-types
2026-01-21 14:43:22 +01:00
ArnabChatterjee20k
eab4c7f28a
Merge remote-tracking branch 'origin/1.8.x' into documents-db-api
2026-01-20 13:56:32 +05:30
shimon
94e29cff53
Fix typo in Authorization parameter in API action definition
2026-01-18 13:11:05 +02:00
shimon
72def3b2fb
Refactor API action parameters to include Authorization dependency
2026-01-18 13:05:43 +02:00
shimon
d015a75e81
linter
2026-01-18 12:48:36 +02:00
shimon
c3ea66b37a
Merge branch '1.8.x' of github.com:appwrite/appwrite into add-webhooks-and-functions-events
...
# Conflicts:
# app/controllers/shared/api.php
# app/init/resources.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php
# src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/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/Create.php
# src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Update.php
2026-01-18 11:01:40 +02:00
Matej Bačo
5d5a14bd77
PR review fixes
2026-01-15 16:16:09 +01:00
Matej Bačo
1308706023
Merge branch '1.8.x' into chore-php-types
2026-01-15 15:52:51 +01: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
ArnabChatterjee20k
f580dc9145
Merge remote-tracking branch 'upstream/1.8.x' into documents-db-api
2026-01-13 14:32:46 +05:30
Matej Bačo
3d4b29e0f1
Merge branch '1.8.x' into chore-php-types
2026-01-10 16:42:38 +01:00
shimon
1a87bde88e
removing blank lines
2026-01-07 17:25:12 +02:00
shimon
db4dcd164e
refactor: integrate EventProcessor for handling function and webhook events; streamline event triggering in database actions
2026-01-07 16:57:57 +02:00
Jake Barnby
7573ee75a2
Use authorization instance
2026-01-07 20:04:28 +13:00
shimon
0582cdf394
refactor: clean up whitespace and remove commented-out abuse handling code in api.php
2026-01-06 18:41:06 +02:00
shimon
3fa3318346
Merge branch '1.8.x' of github.com:appwrite/appwrite into add-webhooks-and-functions-events
2026-01-06 18:32:00 +02:00
shimon
23dfb23a3b
fix: revert Traefik image version to 2.11; implement caching for function events and webhooks; add cache purging on function create/update/delete events
2026-01-06 18:28:37 +02:00