- Functions testEventTrigger: increase assertEventually from 20s to 60s
to accommodate shared mode queue latency and cold starts
- Realtime testConcurrentRealtimeTrafficCoroutines: already has 45s
WebSocket timeout and TimeoutException handling for CI resilience
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Metadata decorator: look for relatedCollection inside options array
since new Attribute format nests it there
- Skip decorators during silenced operations to prevent $databaseId etc.
from leaking into internal write operations
- Fix aggregate test queries to use Query::count('*', 'total') instead
of Query::count('total') which treats 'total' as a column name
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The V17 filter now correctly parses cursorAfter/search/isNotNull queries
with their full parameters (attribute, values) instead of stripping them
to method-only objects.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
V17 filter's str_contains($method, '.') throws when $method is a Method
enum. Guard with is_string() since enum cases never contain dots.
Proxy test: delete rule before site to avoid cascade-delete race.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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
Revert the is_int preservation — SDKs declare $sequence as string,
so the API must always return a string. Updated tests to match.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Document/Row model filters now preserve int type for $sequence instead of always casting to string
- V21 response filter recursively casts $sequence on nested relationship documents
- Added unit tests for nested document/row $sequence casting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>