The schema hash already captures all collection changes, making the
$updatedAt field redundant (and unreliable since Utopia preserves it).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Counts alone miss delete/re-add scenarios where the count stays the same
but the schema is different. MD5 of the full attribute and index arrays
captures any schema change.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The collection $updatedAt is preserved by Utopia Database's updateDocument()
when the value is already set, so it doesn't change when attributes/indexes
are created. Include attribute and index counts in the cache key to ensure
schema changes properly invalidate the document list cache.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix indentation alignment in cache hit detection condition
- Add total count assertions for cached and non-cached responses in test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Move teams API to Modules
* lint
* Move team prefs & logs API to Modules (#11359)
* Move team prefs & logs API to Modules
* format
* missin desc
* Move team memberships API to Modules (#11362)
* Move team memberships API to Modules
* fix config dir
* Cloud parity
* params
* Cloud conflicts
* refactor
* prop
* refactor
* set teamId
* feedback
* feedback 2
* fix url-encoding
Executions that time out can remain stuck in waiting or processing status
in the database. This mirrors the frontend workaround from console#2788
across the relevant API endpoints for both functions and sites.
Changes:
- GET execution/log: override status to failed in response if elapsed time
since creation exceeds the resource timeout
- LIST executions/logs: same in-response override; when caller filters by
failed, expands DB query with OR to also fetch waiting/processing entries
created before the timeout threshold so they appear in results; skips
in-response override when caller explicitly requests a non-failed status
to avoid contradicting the filter
- DELETE execution: allows deletion of timed-out executions that are still
stored as waiting/processing by treating them as failed for the status guard
All changes are in-memory only — the database records are not modified.
Includes a note to remove once a proper DB-level fix is applied.
- Fix float/int/bool attribute creation failures caused by type loss
during queue serialization in the Databases worker
- Rework session limit test to retry session creation for cache
propagation in shared mode
- Increase GraphQL attribute polling timeouts from 30s to 60s
- Increase SchemaPolling waitForAllAttributes timeout to 180s
- Increase Realtime WebSocket client timeout from 30s to 45s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>