Laravel Reverb
Agent Workflow (MANDATORY)
Before ANY implementation, use TeamCreate to spawn 3 agents:
- fuse-ai-pilot:explore-codebase - Analyze existing broadcasting patterns
- fuse-ai-pilot:research-expert - Verify Reverb docs via Context7
- mcp__context7__query-docs - Check WebSocket and event patterns
After implementation, run fuse-ai-pilot:sniper for validation.
Overview
| Component | Purpose | |-----------|---------| | Reverb Server | First-party WebSocket server for Laravel | | Broadcasting | Send events from server to client | | Channels | Public, private, presence scoping | | Echo | Client-side event listener |
Decision Guide
Need real-time?
├── Live notifications → Reverb + private channel
├── Chat / messaging → Reverb + presence channel
├── Live dashboard → Reverb + public channel
├── Collaborative editing → Reverb + whisper
└── Background tasks → NOT Reverb (use Queues)
Quick Setup
php artisan install:broadcasting
BROADCAST_CONNECTION=reverb
REVERB_APP_ID=my-app
REVERB_APP_KEY=my-key
REVERB_APP_SECRET=my-secret
REVERB_HOST=0.0.0.0
REVERB_PORT=8080
Critical Rules
- Use private channels for authenticated data
- Authorize channels in
routes/channels.php - Use ShouldBroadcast for queued delivery (recommended)
- Run Reverb behind Nginx/Caddy in production with SSL
Reference Guide
| Need | Reference | |------|-----------| | Channel types, authorization | channels.md | | Echo setup, client listeners | client.md |
Best Practices
DO
- Use
ShouldBroadcastwith queue for scalability - Authorize private and presence channels
- Use presence channels for user awareness
DON'T
- Broadcast sensitive data on public channels
- Forget to configure CORS for cross-origin clients
- Expose Reverb directly without a reverse proxy
Laravel 13 Notes
Reverb 1.4 est compatible Laravel 13 sans changement. À noter :
- La queue
broadcastprofite du nouveauQueue::route()(voir [[laravel-queues]]) Context::add()propagé automatiquement dans les broadcast events- PHP 8.3 minimum pour le serveur Reverb embarqué