onveyor
Site menu
GitHub
Laravel and ecosystem / How to contribute

How to contribute

Contributions are easiest to review when they include a small reproduction, a focused change, and the relevant test command.

A small reproduction A focused change 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.

shell
composer install

Run checks

Full test suite
shell
composer test
PHPUnit directly
shell
vendor/bin/phpunit --testsuite All
Static analysis
shell
composer phpstan

Useful focused tests

Pusher WebSocket feature testsvendor/bin/phpunit tests/Feature/PusherWebSocketTest.php
Native message router unit testsvendor/bin/phpunit tests/Unit/MessageRouterTest.php

Browser 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:

terminal 1
php examples/pusher-real/run-conveyor.php
terminal 2
php -S 127.0.0.1:8991 examples/pusher-real/router.php

Open:

browser
http://127.0.0.1:8991
http://127.0.0.1:8991/echo.html

Before 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.