How to contribute
Contributions are easiest to review when they include a small reproduction, a focused change, and the relevant test command.
Set up the project
From the Socket Conveyor repository root. Requires PHP 8.2 or newer and ext-openswoole 22.0 or newer. The Composer namespace migration is prepared; new package registration and cross-package dependency resolution remain pending. Check the repository’s current setup instructions and migration status before resolving dependencies.
composer installRun checks
composer testvendor/bin/phpunit --testsuite Allcomposer phpstanUseful focused tests
vendor/bin/phpunit tests/Feature/PusherWebSocketTest.phpvendor/bin/phpunit tests/Unit/MessageRouterTest.phpBrowser smoke test
Test real pusher-js and Laravel Echo behavior. Start the Conveyor server in one terminal, then the PHP built-in server in another:
php examples/pusher-real/run-conveyor.phpphp -S 127.0.0.1:8991 examples/pusher-real/router.phpOpen:
http://127.0.0.1:8991
http://127.0.0.1:8991/echo.htmlBefore submitting protocol changes, check:
- Connection
- Public, private, and presence subscriptions
toOthers()- Whispers
Documentation changes
When package behavior changes, update both the package docs and this website. Keep examples short, runnable, and explicit about whether they apply to native Conveyor mode or Pusher/Reverb-compatible mode.