- Pass required `ENABLED` parameter to `DisableIntrospection` constructor
- Use `name()` method instead of `$name` property access on `Type`
(property moved to `NamedType` interface in v15)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Addresses breaking changes in the v14 to v15 migration:
- Remove `getCategory()` from Exception (removed from ClientAware interface)
- Use constructor config for ScalarType name/description (trait now uses typed properties)
- Update PromiseAdapter signatures: `createRejected(\Throwable)`, `all(iterable)`
- Add `mixed` return types to ScalarType method overrides
- Fix `NodeList` usage with `iterator_to_array()` for `array_map` compatibility
- Fix Assoc::parseLiteral to properly type-check StringValueNode
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The v1-executions queue was serialising the full project document
(OAuth providers, webhooks, keys, auths config, permissions, etc.)
into every message. The worker DI system already re-fetches the
complete project from the platform database using only the project ID,
so the full document was wasted bytes.
Override trimPayload() in the Execution event class to include only
$id in the project stub, reducing message size significantly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Raises _APP_COMPUTE_BUILD_TIMEOUT default from 900s (15 min) to
2700s (45 min) to support longer-running builds.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
utopia-php/http 0.34.20 added a guard that skips the action if
$response->isSent() is true. In batched GraphQL requests the resolver
reuses a single Response across all queries — after the first query's
action calls send(), subsequent queries hit the guard, their actions
are skipped, and stale/null payloads are returned.
Add Response::clearSent() to the Appwrite Response subclass (which can
access the protected $sent property from the parent) and call it in
Resolvers::resolve() before each execute(). This ensures each batched
query gets a fresh sent state while keeping the guard active for normal
request paths.
Also bumps utopia-php/http from 0.34.19 to 0.34.20 so CE CI tests
against the same version used by downstream consumers (cloud).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Http::execute() now requires a Response parameter as of utopia-php/http
0.34.20. The GraphQL resolver was only passing route and request,
causing all GraphQL queries to fail with "Internal server error".
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Wrap only cache load/save calls in try-catch instead of the entire
cache block. This prevents OrderException, QueryException, and Timeout
from $find() being caught and retried, which would double DB calls and
hide real query errors.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>