WebSocket-интеграция не проверена целиком
triangle/engine-ws · AGPL-3.0-or-later
Engine-WS — слой WebSocket-приложения Triangle. Manifest явно конфликтует с triangle/engine-http: не устанавливайте оба engine в одно приложение с предположением, что общие Triangle request/response aliases взаимозаменяемы. Ws scaffold — отдельный шаблон приложения.
Triangle\Ws\App обрабатывает HTTP handshake, route dispatch, UUID/path maps соединений и сообщения. WS support Triangle\Request хранит ws_buffer и предоставляет getData(). Реальное соединение — Localzet TcpConnection; класса Triangle\Ws\Connection и API Router\Route::ws нет.
Остаётся конкретное несовпадение getCallback: он вызывает Middleware::getMiddleware со старым порядком аргументов, тогда как current middleware ожидает controller, RouteObject и withGlobal. Connection/request/context lifecycle тоже требует интеграционных тестов. Старый chat-пример не подтверждал работоспособность.
До production проверьте handshake rejection, права каждого channel/message, Origin, message schema/size, slow consumers, disconnect cleanup и reconnect. Process-local maps не общие между workers; простое увеличение count не масштабирует чат без общего routing/state design. Проверенный Server echo тестирует transport отдельно и не подтверждает этот engine.
Прямые зависимости
Заголовок раздела «Прямые зависимости»| Package | Constraint |
|---|---|
php | ^8.1 |
triangle/engine | ^8.1 |
triangle/router | ^2.0 |
triangle/middleware | ^2.0 |
Сверенная ревизия · ab28668da83f.