Files
appwrite/app/controllers/shared
loks0nandClaude Opus 4.7 9a52e64b3d Upgrade utopia-php/http to coroutine-safe dispatch
Pin utopia-php/http to the refactor/coroutine-safe-dispatch branch, which
extracts per-request state into a Dispatcher + immutable RouteMatch so the
shared Http/Router/Route objects are no longer mutated under concurrent
coroutines.

Appwrite-side adjustments:
- app/controllers/shared/api.php: Route::getMatchedPath() was removed from
  the library; use Route::getPath() for the /documentsdb vs /vectorsdb
  substring check. Both the registered pattern and the matched path contain
  the literal segment, so the behaviour is preserved.
- app/controllers/general.php: drop four $route->label('router', true)
  writes. The sole reader in the wildcard 404 handler was deleted in
  40beecdddc (Feb 2025); the writes were orphaned and mutated the shared
  Route definition, which is now frozen under the new dispatch model.

Deprecated shims for Http::match(), Http::getRoute(), Http::setRoute() are
still honoured by the library; remaining call sites can migrate in a
follow-up pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 15:07:27 +01:00
..