hypervel / reverb
Hypervel Reverb provides a real-time WebSocket communication backend for Hypervel applications.
0.4.x-dev
2026-10-13 08:56 UTC
Requires
- php: ^8.4
- ext-swoole: ^6.3.0RC1
- hypervel/bus: ^0.4
- hypervel/collections: ^0.4
- hypervel/console: ^0.4
- hypervel/container: ^0.4
- hypervel/context: ^0.4
- hypervel/contracts: ^0.4
- hypervel/coordinator: ^0.4
- hypervel/core: ^0.4
- hypervel/coroutine: ^0.4
- hypervel/filesystem: ^0.4
- hypervel/foundation: ^0.4
- hypervel/http: ^0.4
- hypervel/http-server: ^0.4
- hypervel/log: ^0.4
- hypervel/prompts: ^0.4
- hypervel/queue: ^0.4
- hypervel/rate-limiter: ^0.4
- hypervel/redis: ^0.4
- hypervel/routing: ^0.4
- hypervel/server: ^0.4
- hypervel/support: ^0.4
- hypervel/validation: ^0.4
- hypervel/websocket-server: ^0.4
- symfony/console: ^8.1.2
- symfony/http-foundation: ^8.1
- symfony/http-kernel: ^8.1
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-27 07:31:24 UTC
README
Documentation: https://hypervel.org/docs/reverb
Differences From Laravel
- Reverb runs inside Hypervel's Swoole server, including its TLS and worker lifecycle, instead of using a standalone ReactPHP server. There are no
reverb:startorreverb:restartcommands and noReverb::registerDevCommands(): Reverb starts and restarts with the application server, including underphp artisan dev. - Workers in one Reverb instance coordinate through Swoole shared memory and pipe messages. Redis scaling coordinates multiple instances and requires a standalone or Sentinel connection; Redis Cluster is not supported for pub / sub scaling.
- Reverb activity is recorded by Telescope instead of Laravel Pulse.
accept_client_events_fromdefaults tomembers, including when an application record omits it; Laravel falls back toallfor records that predate the option. Inmembersmode, client events are only accepted on private and presence channels, as in the Pusher protocol. Laravel also accepts them from subscribed members of public channels, but anyone can subscribe to a public channel, so that membership doesn't authorize publishing and would let anonymous clients inject client events.
Ported from: https://github.com/laravel/reverb