- Does ilmedova/chattle support Laravel 11 or Laravel 12?
- No. Version 2.0.0 pins the package to Laravel 10 only, so Composer will refuse to install it in a Laravel 11 or 12 application. The constraint appears structural rather than a temporary oversight, and no Laravel 11 or 12 roadmap is stated. If your application needs a newer framework, evaluate Laravel Reverb or Soketi instead.
- How do I install ilmedova/chattle in a Laravel 10 application?
- Run composer require ilmedova/chattle, publish its config and migrations, then run the migrations. Start the server with php artisan websockets:serve under a process supervisor such as Supervisor or systemd, and point Laravel's pusher broadcast driver at the local host and port. Channel authorization continues to use your existing routes/channels.php file.
- Is chattle a fork of beyondcode/laravel-websockets?
- Yes. It is a repackaging of beyondcode/laravel-websockets, which is archived upstream. It remains a self-hosted WebSocket server that speaks the Pusher protocol and is consumed by Laravel Echo on the client. Because the upstream is archived, the fork inherits an unmaintained dependency tree that includes Ratchet and React.
- What PHP versions can I use with chattle?
- The supported stack is Laravel 10 with PHP 8.1 through 8.3. Confirm PHP 8.3 and 8.4 coverage with the maintainer before adopting, since the upstream dependency tree may not keep pace. Anything outside Laravel 10 is not supported by this release.
- Can I use chattle with Laravel Echo and private or presence channels?
- Yes. Chattle implements the Pusher wire protocol, so existing Laravel Echo clients connect without changes and private and presence channels behave as they do with Pusher. Channel authorization still routes through your application's routes/channels.php. Verify any behavioral differences against the last upstream release before switching production traffic.
- How do I migrate from beyondcode/laravel-websockets to chattle?
- Treat it as a replacement rather than an addition: remove the old package, require chattle, and reconcile config files, migration names, and publish tags because both may register the same tables. Plan the composer swap and run migrations on a staging copy first. Leaving both installed risks configuration and table collisions.
- What should I migrate to if I need to leave chattle later?
- The natural destination is Laravel Reverb, the first-party WebSocket server introduced with Laravel 11, which speaks the same Pusher protocol and preserves the Echo client contract. Soketi is a good alternative if the application stays on Laravel 10 for longer. Both keep client-side migration close to zero if you broadcast through Laravel's Broadcast facade and keep authorization in routes/channels.php.
- Is chattle safe to use in production?
- It carries high technical risk because the upstream is archived and the dependency tree, including Ratchet and React, is unmaintained. The fork owner absorbs responsibility for future CVEs in that tree, and no commitment window or CVE response expectation is stated. Adopt it as a bridge with a defined exit plan rather than a long-term destination.
- How do I run the chattle WebSocket server in production?
- Run php artisan websockets:serve under a process supervisor so it stays alive across deploys, typically behind a reverse proxy that terminates TLS. Use Redis for horizontal fan-out when you run more than one server instance, and open only the ports your proxy needs. Secure any statistics or debug routes the package exposes so they are not publicly reachable.
- Does chattle provide the chat UI and message models, or just the real-time backend?
- Chattle provides the chat backend: conversation and message handling, user-to-user messaging, and the self-hosted WebSocket server that delivers real-time updates. Models and UI are customizable, so you build or adapt the widget and views inside your own application. That separation lets you keep your existing front end while using the package for messaging and broadcasting.