Each platform spec previously declared only the auth headers referenced by
endpoints in that platform's surface. The unified web SDK now exposes a
single Client class with cross-platform auth factories (fromSession,
fromCookie, fromDevKey, etc.), which means an SDK generator targeting one
platform still needs setter generation for headers that other platforms
expose. The web SDK currently papers over this with a webClientHeaders
augmentation in the SDK generator.
Add the missing securityDefinitions entries directly so every platform
spec carries the union, removing the need for SDK-side augmentation:
- client: + Cookie (for SSR cookie forwarding)
- server: + Cookie, DevKey
- console: + Session, DevKey
Per-endpoint security requirements continue to be filtered per platform
as before; only the securityDefinitions registry expands to declare
schemes that exist API-wide. SDKs that iterate the registry to emit
auth setters now produce the union without per-SDK fallback code.
The catch block recorded status='failed' but didn't surface the bubbling
exception's message on the migration document. Setup-time failures (e.g.
"Source project not found for provided projectId") left the user looking
at status='failed' with errors=[].
Capture the throwable in the catch and include it in the consolidated
errors list when finally serializes to the migration document.
Wires the worker against the matching utopia-php/migration branch so
end-to-end testing of the Sentry-routing fix can run against both
sides of the change set.
Run `composer update utopia-php/migration --with-all-dependencies`
after pulling to refresh composer.lock. Revert before merging.
With Migration\Exception::jsonSerialize() no longer including the stack
trace, sanitizeErrors no longer needs to decode/strip/re-encode each
entry. Reduce it to a single json_encode pass.
The outer catch in the migrations worker now only calls logError when the
caught Throwable is not a MigrationException. User-facing setup errors
(invalid source type, missing project, etc.) are thrown as MigrationException
with appropriate codes and stay in the migration report only.
Removed the foreach loop that re-published collected errors to Sentry; with
the library-side fix in utopia-php/migration, items in $source->getErrors() /
$destination->getErrors() are by construction user errors that don't need
Sentry routing.
Hoisted setAttribute('errors', sanitizeErrors(...)) into finally so the
migration document always reflects the consolidated error list, including
on bug paths.