- How do I install and configure laravel-centrifugo-broadcaster?
- Install it with composer require opekunov/laravel-centrifugo-broadcaster. Add a centrifugo connection in config/broadcasting.php with your Centrifugo API URL and credentials, set BROADCAST_DRIVER=centrifugo, and provide the API key or token settings via environment variables. The package registers the driver with Laravel's BroadcastManager, so existing ShouldBroadcast events work without changes.
- Which Laravel and PHP versions does this Centrifugo broadcaster support?
- The package supports Laravel ^8.75 through ^13.0 and PHP 8.0 through 8.4. Laravel 13 is CI-verified on PHP 8.3 and 8.4 in the v3.0.2 release. Check the composer constraints before upgrading your application.
- Is laravel-centrifugo-broadcaster compatible with Laravel 13?
- Yes, the ^13.0 constraint is declared and CI-verified on PHP 8.3 and 8.4 in v3.0.2. Confirm that Laravel 13 is stable in your environment and that your Centrifugo server version is current. CI verification matters more than a composer.json declaration alone.
- Do I need Laravel Echo, or can I use centrifuge-js with Centrifugo?
- Laravel Echo has no first-party Centrifugo connector, so you typically use centrifuge-js or a community connector for the browser side. This package only covers server-side publishing, so front-end subscription and auth are a separate workstream. Plan for that effort when estimating the integration.
- How does the driver publish events to Centrifugo?
- The driver registers a centrifugo connection with Laravel's BroadcastManager and sends ShouldBroadcast events to Centrifugo's publish API over HTTP. It does not patch the framework or replace your event classes, channel authorization, or queue semantics. Whether it batches events or uses keep-alive and connection pooling is not stated in the overview, so check the source for high-throughput needs.
- Does it support toOthers(), broadcastAs, broadcastWith, and broadcastWhen?
- Those are native Laravel broadcasting features, and because the package plugs in at the BroadcastManager driver level, your event classes should keep working unchanged. The package docs do not enumerate every feature, so verify toOthers() and dontBroadcastToCurrentUser(), broadcastAs, broadcastWith, broadcastWhen, and per-event channel overrides against the v3.0.2 source or tests. Test these before relying on them in production.
- What happens if Centrifugo returns a 5xx error or times out?
- The overview does not document whether a 5xx or timeout throws, logs and drops, or retries. The v3.0.2 timeout and retry tests no longer depend on httpstat.us, which is a positive sign that this path is tested. Inspect the HTTP client and how it interacts with Laravel queue $tries and $backoff before production.
- Is laravel-centrifugo-broadcaster safe for Laravel Octane?
- Octane safety is not explicitly documented; the risk is request-scoped state held in singletons. The package is a small driver plus publisher, which keeps the surface auditable, but you should review it and run broadcast tests under Octane. If it holds no per-request state, it should be fine.
- Which Centrifugo server versions are supported?
- The package description states Centrifugo 2.85 through 6.x. Centrifugo's publish auth has changed across majors, including API key versus token or HMAC schemes, so validate your server version and auth configuration against the package's tested setup. The release notes are not explicit about which server versions CI exercises.
- Is the package production-ready and actively maintained?
- It is a single-maintainer package in a real-time critical path, so treat it as a vendored dependency with a fork-ready posture. The v3.0.2 release shows recent maintenance with CI-verified Laravel 13 support, Pint and PHPStan hygiene, and claimed 100% code coverage. However, the PHPStan level and CI gate strictness are unspecified, so review the repository's CI and tests before adopting.